在谷歌地图上打开/排列所有信息窗口(任何API版本)



在业余时间,我帮助一个社区小组,该小组每年参加几次植树活动。我创建并打印了我们种植地点的地理编码谷歌地图,这对种植的各个团队非常有帮助。

我似乎无法完成的一件事是让地图同时显示所有信息窗口。我希望能够在种植现场展示树木的种类,而不是让人们看标记标签,然后在单独的列表上找到它。在一个大显示器上,我可以放大到足够大的程度,重叠的信息窗口不会是一个(巨大的)问题。我还没有看到任何迹象表明谷歌有任何自动排列的代码,但如果有,那就更好了。

我能找到的所有帖子都与点击另一个标记时信息窗口没有正确关闭有关,或者与每个标记的内容没有正确更新有关,但似乎没有人问过这种类型的使用场景。

任何正确方向的想法或指示都将不胜感激。

假设您使用的是Maps API V3,那么您可以轻松完成。

通常,当你想点击打开信息窗口时,你会创建一个事件来处理:

google.maps.event.addListener(marker, 'click', function() {
  infowindow.open(map,marker);
});

在这种情况下,您还希望只打开信息窗口:

infowindow.open(map,marker);
google.maps.event.addListener(marker, 'click', function() {
  infowindow.open(map,marker);
});

在创建每个信息窗口和标记后执行此操作。

为了可读性,您可以考虑在标记上使用标签,例如使用MarkerWithLabel实用程序库:http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerwithlabel/1.1.5/

最新更新