在百度地图中进行点聚合之后,在百度地图的开源文档中并没有找到给聚合点绑定点击事件的方法,应该怎么样给聚合点绑定事件,并且获取其中所聚合的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(){//在每个聚合点对象的视图对象上绑定事件
//这样就可以为每一个聚合点绑定点击事件了
}
}
}
添加回答
举报
0/150
提交
取消