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 相关文章推荐
JS获取IP、MAC和主机名的五种方法
Nov 14 Javascript
JavaScript四种调用模式和this示例介绍
Jan 02 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
Sep 25 Javascript
原创jQuery弹出层插件分享
Apr 02 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
Sep 16 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
Nov 26 Javascript
js实现固定宽高滑动轮播图效果
Jan 13 Javascript
jQuery中table数据的值拷贝和拆分
Mar 19 Javascript
JS运动特效之完美运动框架实例分析
Jan 24 Javascript
Js on及addEventListener原理用法区别解析
Jul 11 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 jQuery
JavaScript实现瀑布流布局的3种方式
Dec 27 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正则表达式使用的详细介绍
2013/04/27 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
laravel实现前后台路由分离的方法
2019/10/13 PHP
jquery 指南/入门基础
2007/11/30 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
2014/09/09 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
turn.js异步加载实现翻书效果
2019/07/25 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
Python中类型检查的详细介绍
2017/02/13 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
Python网络爬虫中的同步与异步示例详解
2018/02/03 Python
django 微信网页授权登陆的实现
2019/07/30 Python
Pycharm连接远程服务器并实现远程调试的实现
2019/08/02 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
详解Django中异步任务之django-celery
2020/11/05 Python
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
资深地理教师自我评价
2013/09/21 职场文书
教师年度考核自我鉴定
2014/01/19 职场文书
趣味比赛活动方案
2014/02/15 职场文书
大学生职业规划书的范本
2014/02/18 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
幼儿园教师求职信
2015/03/20 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
Shell中的单中括号和双中括号的用法详解
2022/12/24 Servers