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

    技术2024-01-04  103

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

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

    具体代码如下

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

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

    在公共类增加两个变量:

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

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

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

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

    Processed: 0.013, SQL: 9