在这方面文档和计算器票据非常稀少。如何将infowindow添加到群集标记?
我想打开一个infowindow,当用户鼠标悬停的群集标记。我希望使用两件事情来创建这个infowindow,一组数据来自集群的标记,另一部分是导轨。
我如何:
- 添加鼠标悬停监听到集群
- 获取群集内的标记(选择合适的对象)创建基于部分本
- 集群信息窗口(使用上面的数据)
我正在使用谷歌地图的铁路宝石和Marker Clusterer Plus库。
我在我的建设者如下:
handler = Gmaps.build("Google",
{ markers:
{ clusterer: {
gridSize: 8,
maxZoom: 12,
zoomOnClick: true,
styles: [ {
textSize: 1,
textColor: '#45A6DD',
url: 'images/maps/cluster.marker.png',
height: 51,
width: 51 }
]
}
},
builders: {
Marker: KhMarker
}
});
而且我已经添加下面的脚本到与地图的页面。这听取'clusterclick'事件。我想使用MarkerClustererPlus mouseover事件,但我无法弄清楚应该将哪个js对象传递给addListener事件。
google.maps.event.addListener(handler.clusterer.getServiceObject(), 'clusterclick', function(cluster) {
// console.log("Cluster clicked")
var content = '';
content = this;
console.log (content)
// Convert lat/long from cluster object to a usable MVCObject
// var info = new google.maps.MVCObject;
// info.set('position', cluster.center_);
// var infowindow = new google.maps.InfoWindow();
// infowindow.close();
// infowindow.setContent();
// infowindow.open(handler.map.getServiceObject(), info);
});
在我看到的MarkerClusterer对象控制台,但我想获得的是特定的集群我只是鼠标放在和它所包含的标记。我需要抓住第一个标记的城市名称(或lat/long),然后获取它所来自的区域,以便我可以将此数据传递给infowindow。
我可以得到一个基本infowindow打开点击。我想让infowindow从部分类似于我的标记的方式打开。
marker.infowindow render_to_string(partial: "/destinations/map_tile.html", locals: { city: city })
我该如何做这3件事?
@apneadiving我该怎么做? – nilesvm