我有许多地图标记与完全相同的纬线/长线,所以无论我缩放多远,我的地图仍会显示标记簇和结果数。
有没有办法让一些onclick或onhover事件,以便它显示一个信息框,列表中该群集中的所有标记?然后单击该信息框中的链接会打开该单个标记信息框?
我已经阅读了一些解决方案来改变lat,长一点,以便它们不是同一个位置。我认为这是非常混乱的,如果最终在相同的位置上最终会有多个标记10+,那就不那么好了。我认为用户只需单击群集并打开信息窗口,其中包含链接中的所有标记就会轻松得多。
或者,如果有人知道另一个插件,我正在寻找我也可以使用它。我只是没有找到很多信息。
答案 0 :(得分:1)
可能有一个插件可以做你想做的事情,但也可以不用一个。我在其中一个项目中做过类似的事情。
onclick
属性。我的代码隐藏在函数中,但基本上就是这样:
//1) while creating marker, create click listener that opens the marker list
google.maps.event.addListener(marker, 'click', function() {
markerWindow.close();
markerList.open(map, marker);
});
//2) store the content required by the marker's info windows
var markers = [
[marker1Reference, "The Stadium"],
[maerker2Reference, "The Supermarket"]
];
//3) the function that is called each time a marker is chosen from the marker list
function openMarkerInfo(markerIndex) {
markerList.close();
markerWindow.setContent(markers[markerIndex][1]);
markerWindow.open(map, markers[markerIndex][0]);
}
//4) info window for the marker list - the content includes JS onclick events that will open each marker info window
markerList = new google.maps.InfoWindow({
content: "Choose:<br><br><div href='' class='markerLink' onclick='openMarkerInfo(0)'>The Stadium</div><br><div href='' class='markerLink' onclick='openMarkerInfo(1)'>My House</div>"
});
//5) the marker window that will get set each time a marker is clicked in the list
markerWindow = new google.maps.InfoWindow();
希望有所帮助!