如何如何在点聚合的情况下获得被聚合点的信息
由于项目要求,用到了高德地图的点聚合AMap.MarkerClusterer
,其中有这么个需求:10个点,有两种状态,聚合在一起的时候根据状态在改变聚合的样式。本来是很简单的问题,_renderCluserMarker
是官方给出的函数,入参是一个对象,对象包含了count、markers、maker
1.count
: 当前聚合点下聚合的Marker的数量
2.markers
: 当前聚合点下聚合的所有Marker的数组
3.marker
:当前聚合点的显示Marker
这里重点讲解markers
:
&emsp&emsp
_renderCluserMarker(context) {
console.log(context.markers);
}
按理说这样就能拿到被聚合点的信息,但是可惜,这个数据是被官方加密过,我们在控制台上也看不懂。那怎么解决呢?这点我特地跑过去问了客服,解决的方法也很简单,markers虽然是被加密过的,但是它依然是Amap.Marker()的一个实例,也就是说普通点坐标的方法,它都有。
_renderCluserMarker(context) {
console.log(context.markers[0].getPosition());//这样便能获取下标为0的点坐标
}
点坐标方法地址:https://lbs.amap.com/api/javascript-api/reference/overlay#marker
顺带一提的是,没问客服之前,搜索引擎让我搜烂了都没找到,希望能帮大家少掉一个坑
博客:liusanjin777.github.io