cha*_*hne 6 google-maps google-maps-api-3 markerclusterer
我正在使用带有MarkerClustererPlus的Google Maps v3.点击文档
如果群集包含特定标记,我想为群集设置动画.如果标记不在群集内,则动画非常容易.
marker.setAnimation(google.maps.Animation.BOUNCE);
Run Code Online (Sandbox Code Playgroud)
但我想反弹整个群集图标.我可以通过以下方式获得群集:
markerCluster.getClusters();
Run Code Online (Sandbox Code Playgroud)
但是我如何将cluster-div与我的getClusters() - Array相关联?我不知道哪个div属于getClusters()函数中的哪个集群.
这不可能通过记录的方法/属性实现,但您可以访问这些属性.
步骤1:每个集群都有一个 markers_-property,它是一个包含集群所有标记的数组.迭代所有簇并检查markers_-array是否包含想要的标记
步骤2:当您找到具有所需标记的集群时,访问clusterIcon_.div_集群的属性,这是表示集群图标的元素
//attach listener to clusteringend-event
google.maps.event.addListener(markerClustererInstance,'clusteringend',function(){
//iterate over all clusters
var clusters=this.getClusters();
for(var i = 0; i < clusters.length;++i){
if(clusters[i].markers_.length > 1
&& clusters[i].clusterIcon_.div_){
// clusters[i].clusterIcon_.div_ is the HTMLElement
// that contains the wanted clusterIcon,
// you should at first reset here recently applied changes
if(clusters[i].markers_.indexOf(wantedMarker)>-1){
//the marker has been found, do something with it
}
}
}});
Run Code Online (Sandbox Code Playgroud)
但请注意:群集图标不是a google.maps.Marker,您不能简单地应用动画,因为您可以使用本机标记.此外:修改群集图标位置的动画(例如反弹)可能会干扰markerClusterer,我建议使用可以通过颜色更改或背景图像更改应用的效果(群集图标你看看是div的背景图像.
| 归档时间: |
|
| 查看次数: |
4015 次 |
| 最近记录: |