【问题标题】:Google maps markers are hidden behind each other谷歌地图标记相互隐藏
【发布时间】:2011-04-17 19:32:54
【问题描述】:

我对隐藏在其他标记后面的标记有疑问。
当地址彼此太接近时,就会出现问题。例如street 20, street 22

更改 zIndex 无济于事,因为那只是“堆叠”。
如何“浮动”标记以使它们在地图上全部可见?

【问题讨论】:

  • 您是否使用任何数据库来存储坐标?
  • 是的。我看到的唯一解决方案是控制每个地理位置,如果要关闭两个,则稍微移动一个。
  • 是的。在一个类似的问题中,我正是这样做的。在数据库中插入一个地方之前,我检查了一个区域是否已经存在,如果存在足够近的地方,我稍微移动它们。跨度>
  • 你会碰巧还有那个代码吗? :)
  • 这就是为什么我问你正在使用什么 dbms,因为我使用了 postgis,并且我使用了特定于该 db 的函数。

标签: google-maps google-maps-markers


【解决方案1】:

【讨论】:

  • 我已经看过了,但这并不能解决我的问题。它仅在缩小时聚集标记。放大后,标记将可见并堆叠在一起。
  • 超链接已过期。很高兴您提到了功能的名称“标记聚类”。
  • 谢谢@ChrisW,我已经用新链接更新了答案。
【解决方案2】:
【解决方案3】:

使用较小的标记可能会有所帮助。当我遇到这个问题时,我将标记图像的大小从 20x34 像素更改为 20x20 像素。

【讨论】:

  • 我对此进行了测试,但没有帮助。位置仍然相同,图标大小相同,因此它们将相互隐藏。
【解决方案4】:

所以,你可以使用mysql spatial extensionsMBRContains(RectangleAroundYourPoint,GeometryColumnOfYourTable)

-如果您的表格当然有一个简单的几何列(在创建时您选择即点作为列类型,并且在执行插入时您必须使用GeomFromText)-

检查该矩形内是否存在另一个地方,是否移动新的地方,直到 mbrcontains 返回 false 或类似的东西。

希望对你有帮助

【讨论】:

    【解决方案5】:

    我使用标记聚类器并且遇到了同样的问题。我在坐标中添加了一个小的随机数。我不想过多地改变标记的位置,因此在卫星模式下问题仍然存在,但在地图模式下我们可以放大更多。 这可能不是一个好的解决方案,但对我的应用程序来说已经足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-31
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多