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 相关文章推荐
动态添加js事件实现代码
Mar 12 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
Sep 09 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
Dec 03 Javascript
jQuery的观察者模式详解
Dec 22 Javascript
JavaScript中join()方法的使用简介
Jun 09 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
Sep 14 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
Apr 06 Javascript
JavaScript事件方法(实例讲解)
Jun 27 Javascript
JS监控关闭浏览器操作的实例详解
Sep 12 Javascript
微信小程序实现搜索历史功能
Mar 26 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
Jun 05 Javascript
基于JavaScript实现大文件上传后端代码实例
Aug 18 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 define的第二个参数使用方法
2013/11/04 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
linux下php上传文件注意事项
2016/06/11 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
使用PHP访问RabbitMQ消息队列的方法示例
2018/06/06 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
js实现右下角可关闭最小化div(可用于展示推荐内容)
2013/06/24 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
jqTransform美化表单
2015/10/10 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
Python continue语句用法实例
2014/03/11 Python
Python中的闭包实例详解
2014/08/29 Python
python命令行参数用法实例分析
2019/06/25 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
python add_argument()用法解析
2020/01/29 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
工艺员岗位职责
2014/02/11 职场文书
教师师德演讲稿
2014/05/06 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
学校开除通知书
2015/04/25 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
《分数的意义》教学反思
2016/02/20 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书