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 2.0.3 源码分析之core(一)整体架构
May 27 Javascript
Javascript判断图片尺寸大小实例分析
Jun 16 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
Jun 26 Javascript
js获取html的span标签的值方法(超简单)
Jul 26 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
js实现3D图片展示效果
Mar 09 Javascript
详解tween.js的使用教程
Sep 14 Javascript
vue 下列表侧滑操作实例代码详解
Jul 24 Javascript
JavaScript new对象的四个过程实例浅析
Jul 31 Javascript
Vue resource三种请求格式和万能测试地址
Sep 26 Javascript
js核心基础之构造函数constructor用法实例分析
May 11 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
Aug 21 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连接Access数据库错误及解决方法
2013/06/20 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
php session_decode函数用法讲解
2019/05/26 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
Jquery 扩展方法
2010/05/06 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
基于webpack 实用配置方法总结
2017/09/28 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
基于JQuery和DWR实现异步数据传递
2020/10/16 jQuery
部署Python的框架下的web app的详细教程
2015/04/30 Python
Django中使用locals()函数的技巧
2015/07/16 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
python读取xml文件方法解析
2020/08/04 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
语文教师求职信范文
2015/03/20 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android