gpt4 book ai didi

mapbox - 使用 Mapbox 在 map 上显示数百万个点

转载 作者:行者123 更新时间:2023-12-04 12:52:08 26 4
gpt4 key购买 nike

知道如何使用 Mapbox 实现这种效果吗?

http://www.juwai.com/USproperty/v-1

我需要在美国 map 上显示 140 万个点。集群对我们来说是一个不错的选择,我在 https://www.mapbox.com/mapbox.js/example/v1.0.0/leaflet-markercluster/ 尝试使用 Mapbox 的集群示例。但是当浏览器传入超过 200,000 个纬度/经度对时,浏览器加载速度非常慢。

最佳答案

显然,您不能真的显示“140 万点”。这对计算机来说是非常繁重的,对用户来说是不可能的。

看着这个显示,我猜他们可能将属性(在他们的 SQL 数据库中......)分组为“社区”,为每个“社区”建立了一个(lat,lng)并定义(也在他们的 SQL 数据库)在这一点上有一个循环标记。毫无疑问,他们还预先计算了在该标记下计算的属性数量。

他们下一步要做的就是在这些圆形标记之间建立层次结构。在较低(较远)的缩放级别,一些标记将不再出现,并且它们将显示不同的(更大...)计数,这可能只是“冒泡”从 (现在,不再显示 ...) 标记“就在”它们的下方。

换句话说:每个 Leaflet 缩放级别都有自己独特的一组标记,所有这些都是由主机预先计算的。随着 [Leaflet ...] map 放大或缩小,标记层的内容将被替换为适合该缩放级别的一组新标记。

计算所有这些数据并将其存储在适当的 SQL 数据库结构中,将是在主机 上定期运行的适度脚本或存储过程的工作。

在最高(最接近...) 的放大倍数下,客户可能会要求主持人提供实际可见的(纬度,经度)范围内的单个属性列表在用户的显示器上......加上一些 margin 。如果用户将 map 滚动到其他地方,那么(在短暂的停顿以确保 map 不再移动后......) 主机将被要求发送另一组属性点。

但一个关键点是“[Leaflet] 被要求显示的总点数永远不会“无法管理”。它是一组实际可以看到的圆圈,加上一些边距,每个圆圈最多代表一千个属性。当显示最终下降到“单个属性”时,点列表中唯一的属性是“附近,加上一些边缘”的属性。

关于mapbox - 使用 Mapbox 在 map 上显示数百万个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30588403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com