首页 > 解决方案 > 叶/传单地图中的 600 万个标记

问题描述

使用 MarkerCluster 算法,可以将附近的标记聚集在一起,因此地图在视觉上非常容易接受。

但是,我发现传单地图的性能和响应随着其中标记的数量而降低。

我仍然不明白,但我发现人们谈论的是服务器端集群解决方案而不是客户端集群。

这个持久的模块项目是在传单地图中使用此概念(服务器端聚类)的大量标记的解决方案。

我的问题是:

它是如何在传单地图中完成的?
如何在 folium maps 的 python 中制作这个解决方案?

标签: pythonleafletfolium

解决方案


服务器端集群可以通过 XHR 请求来完成。

最简单的方法是将您的地图划分为正方形,并让它在单个要素图层之间切换,并使用MAP.on('zoomend', function(e){});事件替换 geoJSON/JSON 图层。

举个例子,如果 jQuery 可用,你可以$.getJSON(SERVER_SIDE_URL, {VARIABLE: 'VALUE'}, function(data){});在 zoomend 上做。这里匿名函数将携带响应数据。您可以使用此数据创建替代 LayerGroup 或单个 Layer,同时跟踪和销毁其谓词。

服务器端将需要访问完整的数据集,并且能够为抽象附近的单个特征或占位符的半径/正方形半径内的一组特征提供 JSON。

这是一个选项的摘要。或者,可能有市场就绪的解决方案。但是自己编写应该为这样一个简单的任务提供更有效的解决方案。


推荐阅读