js关于使用地图范围判断来导航的问题

0 喜欢 0 不喜欢
215 浏览

我有这样一个需求:左边地图上有几个不同的区域,右边是数据明细。如何确定当前视图是在哪个区域,比如说我缩放到省级时,右侧显示相应的省级数据;地图缩放到具体的地市级是,右侧显示具体地市级的数据。

PS:我另外两个问题没人关心,不想重复发帖,谁帮我看看:

http://ask.supermap.com/5539

http://ask.supermap.com/5381

最新提问 4月 13, 2017 分类:云GIS | 用户: techcave 牛刀小试 (130 分)
重新分类 4月 13, 2017 用户:程yan

2 个回答

0 喜欢 0 不喜欢
 
已采纳
你好:

根据你的需求,我认为可以这样实现。

我觉得这个需求可以分为两部分,第一是判断右边数据明细应该显示哪一级的数据(省、市、县)。第二是判断右边数据明细应该显示具体什么数据,比如显示省级数据的时候,具体显示哪个省。

对第一个问题,可以根据地图当前的缩放级别来确定,每次地图缩放之后得到当前缩放级别,然后判断显示哪一级数据。

第二个问题,每次地图平移之后,获取当前地图的中心点,然后判断该中心点在哪个区域的范围内,在右边显示当前区域的数据。

这只是初步的设想,可能要根据具体需求修改实现方法。
最新回答 4月 13, 2017 用户: 袁子翔 学富五车 (538 分)
采纳于 4月 13, 2017 用户:techcave
您的其他问题,我们会再看一下,不好意思。

好的,多谢,我理解是不是监听地图的缩放和移动事件?请问这两个事件是怎么做。是不是类似于:

       map.events.on({
         "click": callbackFunction
       }); //添加click事件

事件名称是什么?

需要对地图监听后,使用getCenter和getScale两个方法即可:

moveend事件既可以监听缩放又可以监听移动。

多谢,很详细。
0 喜欢 0 不喜欢
您好!首先感谢,您对我公司的社区的信任与支持,这里还要跟您说一下,您如果在提问的时候正确的将问题进行分组,相应工程师就能很快收到邮件为您解答。如果分组错误的话就会耽误您很多时间。js部分是云GIS分类这部分工程师负责的,组件iobject部分是组件分类这部分工程师负责的,希望对您有帮助。

另外关于您的需求,这里给您一个思路:通过获取屏幕中心点的位置,对相应的图层进行查询,通过对当前地图比例尺的判断来显示相对应的数据集的对应字段。
最新回答 4月 13, 2017 用户: 程yan 名扬四海 (1,122 分)
好的,多谢,我上面还有点疑问,帮忙提示下。
...