代码之家  ›  专栏  ›  技术社区  ›  Luca Anceschi

使用传单处理数千个标记的最佳实践

  •  8
  • Luca Anceschi  · 技术社区  · 10 年前

    我正在使用HTML地图和 Leaflet 服务器端我有一个Ruby Sinatra应用程序,提供MySQL表获取的json标记。使用2k-5k和更多标记的最佳实践是什么?

    • 首先加载所有标记,然后将所有内容委托给 Leaflet.markercluster .
    • 每次地图视口更改时加载标记,发送西南&northEast指向服务器,详细说明剪辑服务器端,然后将标记缓冲区客户端与服务器获取的条目同步(我现在正在做的)。
    • 上述两种方法的混合。

    谢谢 卢卡

    2 回复  |  直到 10 年前
        1
  •  8
  •   MANSOOR KOCHY    2 年前

    自从我最初发布这个问题以来,几个月过去了,我终于通过了!

    正如@Brett DeWoody正确指出的 正确的 方法是和屏幕上DOM元素的数量严格相关(我主要指的是标记)。如果你的设备速度更快(尤其是CPU),则越快越好。由于我正在开发的应用程序同时将桌面和平板电脑作为目标设备,CPU是一个相关因素,就像不同地理区域的标记密度一样。

    我决定将DBase查询/获取和地图表示/显示分开。基本上,用户调整控件/输入以过滤整个数据集,然后提取记录并 Leaflet.markercluster 做代表的工作。修改过滤器后,循环重新开始。用户可以根据自己的CPU能力选择聚类的地图缩放级别。

    在我的特定场景中,上面提到的是最好的方法(通过console.time验证)。

    希望这可能有帮助。

    干杯 卢卡

        2
  •  1
  •   tmcw    10 年前

    尝试选项并在发现问题时进行优化,而不是尽早进行优化。除非你的标记上附有大量数据,否则你可能只需要使用Leaflet.markercluster就可以了。