arcgs api覆盖物动态聚合的实现(附源码)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010021282/article/details/80716324

这是arcgis api for javascript官方的覆盖物聚合文档:
http://jshelp.thinkgis.cn/jssamples/layers_point_clustering.html

但是这个官方提供的文档有两个缺陷:
1、聚合效果不是动态的,所有的覆盖物必须在页面启动时加载进来,而后面新增的覆盖物无法参与聚合。
2、代码比较复杂,我也是看了半天才看懂了大概。

虽然跟实际的需求有出入,但思路还是有的,我按照它的部分思路,又封一个js类:

//map:地图  marks:覆盖物数组  tolerance:覆盖物聚合距离,单位像素
function MarkCluster(map,marks,tolerance)

有了它,只需要适当的时候调用这2个接口,即可轻松完成聚合效果:
autoCluster :当地图放大缩小时自动完成聚合操作,调用时机:对象创建后立即调用
layerRefresh:立即刷新一![这里写图片描述]次聚合操作,调用时机:新增覆盖物之后

话不多说,先看看效果:
这里写图片描述

狂点一波左下角的按钮之后:
这里写图片描述

可以看到,新加进来的覆盖物也参与了聚合。

源码奉上,注释应该比较详细了:
https://download.csdn.net/download/u010021282/10482901

猜你喜欢

转载自blog.csdn.net/u010021282/article/details/80716324