猿问

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

在百度地图中进行点聚合之后,在百度地图的开源文档中并没有找到给聚合点绑定点击事件的方法,应该怎么样给聚合点绑定事件,并且获取其中所聚合的marker的数据

炎炎设计
浏览 3037回答 1
1回答

慕无忌1623718

首先这个聚合点的对象每次地图级别变化或者移动地图,都会有所变化,在源码中是走的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(){//在每个聚合点对象的视图对象上绑定事件        //这样就可以为每一个聚合点绑定点击事件了    }}}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答