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 相关文章推荐
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
Mar 20 Javascript
javascript代码加载优化方法
Jan 30 Javascript
关于火狐(firefox)及ie下event获取的两种方法
Dec 27 Javascript
jQuery中:image选择器用法实例
Jan 03 Javascript
动态加载jQuery的两种方法实例分析
Jul 17 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
Aug 22 Javascript
原生JS实现-星级评分系统的简单实例
Aug 21 Javascript
Angular的模块化(代码分享)
Dec 26 Javascript
原生js封装自定义滚动条
Mar 24 Javascript
JavaScript实现获取远程的html到当前页面中
Mar 26 Javascript
vue中路由参数传递可能会遇到的坑
Dec 07 Javascript
Vue表单及表单绑定方法
Sep 04 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/04 新手入门
PHP的FTP学习(一)
2006/10/09 PHP
php中取得URL的根域名的代码
2011/03/23 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
wxPython事件驱动实例详解
2014/09/28 Python
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
大学本科毕业生求职信范文
2013/12/18 职场文书
户外拓展活动方案
2014/02/11 职场文书
软件项目开发计划书
2014/05/01 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
实习协议书范本
2014/09/25 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL