如何从 30,000 多个点创建 Leaflet 地图图层?

How to create a Leaflet map layer from 30,000+ points?

我正在构建一个地图应用程序,我必须为其显示我们的用户群数量。 我有 30,000 多个坐标,我想知道在不影响性能的情况下显示它们的最佳方式是什么。

我认为创建自定义 tile/layer 是最好的方法,但还没有找到如何做的方法。我查看了 Mapbox,但没有找到我要找的东西。

该应用目前正在使用 Leaflet 和 Angular-leaflet-directive。

期待您的建议。

编辑:我正在尝试在视觉上做类似的事情 http://tombatossals.github.io/angular-leaflet-directive/examples/0000-viewer.html#/paths/3000-items-example

谈到 "density",您可能有兴趣显示热图(查看可用的 heat maps plugins). Heatmap.js 可能符合您的需要,因为它宣称能够管理 40k+ 数据点。

如果您仍然需要访问每个单独的点,您会对 clustering plugins. The most popular one being MarkerCluster, but the current release version is a little slow at initialization (a few seconds) for that amount of points. A next release should be published soon that corrects for this performance issue. If you cannot wait, try PruneCluster 更感兴趣,它速度更快,但没有动画。

也就是说,您仍然需要下载这 30k+ 个点才能显示它们(通过聚类或作为热图),因此请确保您的数据精简!另一种解决方案是在服务器端生成热图图块。