4 javascript google-maps google-maps-markers markerclusterer
我按照这里的教程在任何缩放级别为各个clustercluster集群添加一个inforwindow. http://krisarnold.com/2010/10/15/adding-info-windows-to-map-clusters-with-google-maps-api-v3/
我想在各自的集群中添加标记的信息(例如,将它们的'标题添加到单击标记集群对象时在信息窗口中显示的列表.).
因此,如果我在视图中具有特定缩放级别的3个聚类,则每个聚类具有5个标记.如何显示在该特定群集中聚合的5个(在markercluster对象中的总共15个标记中)标记的列表?
例如,我在群集中有3个标记,那么如何在信息窗口中显示?titlemarker1 titlemarker2 titlemarker3
编辑:如 http://www.blogwave.de/wp-content/uploads/2009/05/marker_cluster.png所示, 所有不同的集群都是一个markercluster对象的实例.因此,如果我们使用下面其中一个答案中提到的markercluster对象的getmarkers例程,那么我们将获得所有标记的列表.
我想要的是例如从左边第一个标记为18的集群中的总标记中获得仅18个标记的列表.
NT3*_*3RP 12
不幸的是,MarkerClusterer参考有点不足.浏览完源代码后,看起来你需要调用传入getMarkers的cluster对象的方法(与我之前建议的方法相反,即调用方法markerClusterer).
例如,使用您链接到的教程:
google.maps.event.addListener(markerClusterer, 'clusterclick', function(cluster) {
var content = '';
// Convert lat/long from cluster object to a usable MVCObject
var info = new google.maps.MVCObject;
info.set('position', cluster.center_);
//----
//Get markers
var markers = cluster.getMarkers();
var titles = "";
//Get all the titles
for(var i = 0; i < markers.length; i++) {
titles += markers[i].getTitle() + "\n";
}
//----
var infowindow = new google.maps.InfoWindow();
infowindow.close();
infowindow.setContent(titles); //set infowindow content to titles
infowindow.open(map, info);
});
Run Code Online (Sandbox Code Playgroud)
编辑:更新以回应问题编辑.
| 归档时间: |
|
| 查看次数: |
12603 次 |
| 最近记录: |