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 对象定义方法 简单易学
Mar 22 Javascript
Javascript 函数中的参数使用分析
Mar 27 Javascript
javascript中的window.location.search方法简介
Sep 02 Javascript
在百度知道团队中快速审批新成员的js脚本
Feb 02 Javascript
JQuery中$.each 和$(selector).each()的区别详解
Mar 13 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
Apr 15 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
Jan 29 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
May 30 Javascript
jQuery、layer实现弹出层的打开、关闭功能
Jun 28 jQuery
JS实现点击拉拽轮播图pc端移动端适配
Sep 05 Javascript
基于PHP pthreads实现多线程代码实例
Jun 24 Javascript
解决vue路由name同名,路由重复的问题
Aug 05 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/11/16 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
js实现多张图片延迟加载效果
2017/07/17 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
python解析xml简单示例
2019/06/21 Python
python编写计算器功能
2019/10/25 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
运动鞋中的劳斯莱斯:索康尼(SAUCONY)
2017/08/09 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
绿色环保演讲稿
2014/05/10 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
预备党员表决心的话
2015/09/22 职场文书
求职信如何撰写?
2019/05/22 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS