arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)


Posted in Javascript onJanuary 28, 2021

背景

前段时间在公司项目中遇到一个问题,地图底图区域只有一部分范围,超出当前范围会显示白底,使用效果来说非常的不好,伴随着的需求便是地图缩小、鼠标移动地图超出底图的显示范围则需要底图回弹。

效果

arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)

思路

1、arcgis.js控制其显示范围,在超出底图显示范围时自动弹回来
(1)地图创建完成之后使用监听事件监听地图范围改变调用shwoExtent方法,该方法会传一个地图的左上角和右下角的值

this.gisMap.on('extent-change',this.showExtent)

(2)根绝判断地图的最大显示范围 full extent来判断当前地图显示范围是否超出地图可视范围,当超出范围则显示地图的最大范围,地图回弹

代码片

// An highlighted block
let fullExtent={
    xmin: xx,
    ymin: xx,
    xmax: xx,
    ymax: xx,
   }
showExtent(extS){
   let ext=extS.extent;  
    if(ext.xmin<this.fullExtent.xmin||ext.xmax>this.fullExtent.xmax||ext.ymax>this.fullExtent.ymax||ext.ymin<this.fullExtent.ymin){
    let fullExtent = new esri.geometry.Extent(
     {
      ...this.fullExtent, 
      spatialReference:new esri.SpatialReference({ wkid: parseInt(4490) })//SpatialReference设置地图坐标系
     }
    );
    this.gisMap.setExtent(fullExtent);
   }
  },

参考文档:https://developers.arcgis.com/javascript/3/jsapi/extent-amd.html

注意:在查阅文档时需要知道项目中使用的是什么版本的arcgis.js

到此这篇关于arcgis.js控制地图地体的显示范围超出区域自动弹回的文章就介绍到这了,更多相关arcgis.js地图显示范围内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript之ESC(第二类混淆)
May 06 Javascript
javascript 打印页面代码
Mar 24 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
Oct 16 Javascript
Jquery实现仿京东商城省市联动菜单
Nov 19 Javascript
基于jquery实现图片上传本地预览功能
Jan 08 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
Sep 05 Javascript
详解vue服务端渲染(SSR)初探
Jun 19 Javascript
bootstrap Table插件使用demo
Aug 07 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
Sep 27 Javascript
基于JS开发微信网页录音功能的实例代码
Apr 30 Javascript
解决Vue @submit 提交后不刷新页面问题
Jul 18 Javascript
Openlayers实现扩散的动态点(水纹效果)
Aug 17 Javascript
vue使用transition组件动画效果的实例代码
Jan 28 #Vue.js
Bootstrap FileInput实现图片上传功能
Jan 28 #Javascript
js实现简单的倒计时
Jan 28 #Javascript
原生js实现无缝轮播图效果
Jan 28 #Javascript
JavaScript实现4位随机验证码的生成
Jan 28 #Javascript
JavaScript点击按钮生成4位随机验证码
Jan 28 #Javascript
Vue ​v-model相关知识总结
Jan 28 #Vue.js
You might like
用PHP调用Oracle存储过程的方法
2008/09/12 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
php和javascript之间变量的传递实现代码
2012/12/19 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
php无限遍历目录示例
2014/02/21 PHP
如何实现动态删除javascript函数
2007/05/27 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
浅谈python中的数字类型与处理工具
2017/08/02 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
python绘制多个曲线的折线图
2020/03/23 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
python3中数组逆序输出方法
2020/12/01 Python
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
广州地球村科技数据库题目
2016/04/25 面试题
高中地理教学反思
2014/01/29 职场文书
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS
深入浅析Django MTV模式
2021/09/04 Python