Google Map API中同一位置上的多个标记问题

时间:2010-07-17 09:42:38

标签: php google-maps

我在我的应用程序中使用谷歌地图。我的地图上有数以千计的标记。

我可以在地图上很好地展示它们。我在php中使用MySQL作为我的数据库。

但是当同一位置上有多个位置时,我遇到了问题。它只显示所有位置的一个标记(相同位置)。

在API中,没有解决方案。任何人都可以帮助我吗?

提前致谢...

4 个答案:

答案 0 :(得分:2)

这不是“问题”本身。想一想......如果多个点共享完全相同的地理位置,显然,它们将全部由一个单点表示。但真正发生的是,同一点的所有标记都是一个堆叠在另一个之上。

您可能想要尝试使用的是MarkerClusterer来表示与群集共享相同地理位置的标记数量: http://googlegeodevelopers.blogspot.com/2009/04/markerclusterer-solution-to-too-many.html

OTOH,如果您有多个点共享SAME位置以首先要求群集,那么在最大缩放级别对它们进行去群集绝对没有意义。此外,它不是标记包装者会做的事情。

如果您确实需要一个可能的解决方案来分别在同一位置代表多个点,请参阅我的博客: http://act28.blogspot.com/2011/05/multiple-locations-with-same-latlong.html

答案 1 :(得分:1)

对于lat / lon 在缩小时出现在同一个地方但实际上不同,请查看http://code.google.com/apis/maps/documentation/javascript/v2/overlays.html#Marker_Manager上的群集示例。完全相同的位置,你不能做任何事情,只能略微改变一个人的立场。

答案 2 :(得分:0)

听起来你正在将一个标记直接放在另一个上面。你使用纬度/经度坐标?如果是这样,您可以通过从重复的lat / long中随机添加或减去(非常)小的值来调整重复的位置。有点hacky,但我不确定你还能怎样处理这个问题。

答案 3 :(得分:0)

我所做的是在特殊数组键中散列long / lat值。然后所有标记将位于具有相同位置的相同数组键中,然后您可以迭代数组并在一个信息窗口中显示信息。