【问题标题】:Google Maps with too many marks谷歌地图标记太多
【发布时间】:2012-01-02 12:03:12
【问题描述】:

我正在使用 Android 的 WebView 组件来显示带有 POI 的 Google 地图。为了显示 POI,我使用 JavaScript API 类 google.maps.Marker。

问题在于,当所有 350 个 POI 都显示在地图上时,它们会使 WebView 变慢并且几乎无法使用......

如何优化???

是否有任何 API,例如将地图缩放级别与显示的标记数量放在一起?例如,如果缩放级别为 0,例如显示 10 个 POI,缩放级别为 10 时,显示所有适合视口的 POI...

感谢您的帮助 问候, 彼得

【问题讨论】:

    标签: android google-maps google-maps-api-3 android-webview android-maps


    【解决方案1】:

    地图上的标记过多是一个众所周知的问题。有几种解决方案。可以在here 找到可能的解决方案的概览。

    如果我简短地总结一下,那么解决方案是:

    1. 聚类:它对标记进行分组,以便一次在地图上看不到太多标记。如果放大,集群会分裂成更小的集群和/或单个标记。您可以创建自己的标记聚类器或使用一些提供所需功能的库。可以在Google Maps utility library 找到很好的解决方案。
    2. 标记管理器:标记管理器允许您指定在不同缩放级别可见的标记。同样,您可以创建自己的实现或使用库。 Google Maps utility library 提供了很好的 MarkerManager。
    3. 视口管理:想法是只显示必须显示的标记(位于当前视口中的标记)。虽然它不能完全解决问题,但它是对以前技术的一个很好的改进。
    4. Fusion Tables:当您使用 Fusion tables 时,标记会在 Google 服务器上的一个特殊层中呈现。

    【讨论】:

    • 非常感谢!很好的答案。首选解决方案是什么?我可能会使用 MarkerClusterPlus...
    • 如果不了解您的实施的更多细节,很难说。但我猜一个版本的标记聚类器(例如 MarkerClustererPlus)可能是最好的(也是最容易实现的)解决方案。
    猜你喜欢
    • 2013-02-21
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    相关资源
    最近更新 更多