为了账号安全,请及时绑定邮箱和手机立即绑定

如何给百度地图聚合点绑定事件,并获取聚合点中的marker相关数据

如何给百度地图聚合点绑定事件,并获取聚合点中的marker相关数据

炎炎设计 2018-12-21 19:15:58
在百度地图中进行点聚合之后,在百度地图的开源文档中并没有找到给聚合点绑定点击事件的方法,应该怎么样给聚合点绑定事件,并且获取其中所聚合的marker的数据
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

首先这个聚合点的对象每次地图级别变化或者移动地图,都会有所变化,在源码中是走的

MarkerClusterer.prototype._redraw = function () {


this._clearLastClusters();

this._createClusters();

}

MarkerClusterer 这是实现聚合功能的类,他有很多的属性和方法,里面有个_clusters属性,这个代表聚合对象集合。

Cluster 这个是一个聚合对象类,绑定事件要在他的视图层绑定,类里面有这个属性直接去,你要获取到聚合对象中的点的数据就可以这样修改下源码


MarkerClusterer.prototype._redraw = function () {


this._clearLastClusters();

this._createClusters();


var map=this._map;

for(var i=0,cluster;cluster=this._clusters[i];i++){//遍历所有的聚合点对象

    cluster._clusterMarker.onclick=function(){//在每个聚合点对象的视图对象上绑定事件

        //这样就可以为每一个聚合点绑定点击事件了

    }

}

}


查看完整回答
反对 回复 2019-01-23
  • 1 回答
  • 0 关注
  • 3036 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信