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 相关文章推荐
用JSON做数据传输格式中的一些问题总结
Dec 21 Javascript
js不完美解决click和dblclick事件冲突问题
Jul 16 Javascript
判断滚动条到底部的JS代码
Nov 04 Javascript
jquery和ajax的关系详细介绍
Nov 29 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
Jun 24 Javascript
javascript实现tab响应式切换特效
Jan 29 Javascript
jQuery实现div拖拽效果实例分析
Feb 20 Javascript
javascript完美实现给定日期返回上月日期的方法
Jun 15 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
Jun 22 Javascript
Vue项目自动转换 px 为 rem的实现方法
Oct 29 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
Jul 18 Javascript
jdk1.8+vue elementui实现多级菜单功能
Sep 24 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
收音机的保养
2021/03/01 无线电
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
php实现多站点共用session实现单点登录的方法详解
2019/09/18 PHP
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
Javascript中的默认参数详解
2014/10/22 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
通过shell+python实现企业微信预警
2019/03/07 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
劳资人员岗位职责
2013/12/19 职场文书
销售类求职信
2014/06/13 职场文书
师德师风整改措施
2014/10/24 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
MySQL 四种连接和多表查询详解
2021/07/16 MySQL
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL