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 相关文章推荐
JavaScript修改css样式style
Apr 15 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
Mar 01 Javascript
js动态修改表格行colspan列跨度的方法
Mar 30 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
Sep 12 Javascript
JS中的数组方法笔记整理
Jul 26 Javascript
JavaScript仿网易选项卡制作代码
Oct 06 Javascript
JavaScript实现解析INI文件内容的方法
Nov 17 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
Aug 10 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
Aug 18 Javascript
小试小程序云开发(小结)
Jun 06 Javascript
layui字体图标 loading图标静止不旋转的解决方法
Sep 23 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
May 20 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
一个可查询所有表的“通用”查询分页类
2006/10/09 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
分享纯手写漂亮的表单验证
2015/11/19 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
vue子路由跳转实现tab选项卡
2019/07/24 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
Python3.x爬虫下载网页图片的实例讲解
2018/05/22 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
Python命令行参数argv和argparse该如何使用
2021/02/08 Python
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
创业计划书如何吸引他人眼球
2014/01/10 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
优秀班组申报材料
2014/12/25 职场文书
故宫英文导游词
2015/01/31 职场文书
多属性、多分类MySQL模式设计
2021/04/05 MySQL
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
浅谈克隆 JavaScript
2021/11/02 Javascript
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技