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 相关文章推荐
jQuery解析XML文件同时动态增加js文件的方法
Jun 01 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
Feb 14 Javascript
原生JS实现跑马灯效果
Feb 20 Javascript
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
BootStrap modal实现拖拽功能
Dec 01 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
May 30 Javascript
小程序实现搜索框
Jun 19 Javascript
小程序实现搜索框功能
Mar 26 Javascript
javaScript把其它类型转换为Number类型
Oct 13 Javascript
javascript数组元素删除方法delete和splice解析
Dec 09 Javascript
JavaScript 装逼指南(js另类写法)
May 10 Javascript
vue首次渲染全过程
Apr 21 Vue.js
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实现mysql同步的实现方法
2009/10/21 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
laravel框架模型、视图与控制器简单操作示例
2019/10/10 PHP
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
使用jQuery设置disabled属性与移除disabled属性
2014/08/21 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
js实现转动骰子模型
2019/10/24 Javascript
Python在Console下显示文本进度条的方法
2016/02/14 Python
Python存取XML的常见方法实例分析
2017/03/21 Python
Python实现的堆排序算法原理与用法实例分析
2017/11/22 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
使用python 计算百分位数实现数据分箱代码
2020/03/03 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
Java程序员面试90题
2013/10/19 面试题
怎样写好自荐信和推荐信
2013/12/26 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
汽车服务工程专业自荐信
2014/09/02 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers