如何使用js实现地图的返回上一视图与下一视图功能

周一接到这个需求,实现工具栏里面返回上一视图与下一视图,GIS专业的小伙伴应该都在arcgis工具中用到过这个功能。个人感觉比较鸡肋,但是身为员工,还是要尽量去实现领导提的要求。可以没用,但是不能没有。

一、接下来就步入正题:刚看到这个需求,觉得这还挺简单的,只需要监听主页地图的拖动事件以及缩放事件不就可以了,于是我在Globle.js里面增加了frontCenter 以及 frontZoom两个变量,用来记录地图上两个相关状态变化开始时的状态(注意是变化开始)

具体代码如下

在返回上一视图组化中去逐个得到中心点以及缩放等级,代码如下:

本来以为这样就万事大吉了,可是运行之后发现造成了冲突,因为返回上一视图也会触发地图所绑定的zoom事件,这一点才是这个功能实现最大的拦路虎。百度了许多关键字,可是没有什么解决方案。于是思考了几天想出了一个解决办法,代码如下:

在公共类增加两个变量:

             isAdd: true, // 是否可以添加前一视图

             youcan: false, // 用于标记返回上一视图事件

在增加了这部分内容之后,成功做到了记录上一视图以及下一视图,代码具体怎么去理解还是看个人了。

功能还不完善,后面估计还要该需求,各位靓仔靓女有什么高见欢迎留言哈!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值