我有一个由 Marker
和 GeoJSON
对象组成的 Leaflet.js map 。有没有一种简单的方法来包裹它们,以便它们每隔 360 度定期出现?基本上,我希望整个 map 变得周期性。
这是我拥有的对象类型的说明(不包括我没有的背景 TileLayer
):
如何定期重复此数据,以便大圆不会被破坏,而是在 map 向左或向右滚动时每 360 度都保持完整?
最佳答案
一种方法是利用Leaflet.VectorGrid 。正如您在 Leaflet.VectorGrid GeoJSON example 中看到的那样,数据将换行。 (从架构上讲,发生这种情况是因为 VectorGrid 在环绕时加载具有相同坐标的矢量切片)。请注意,可能会出现一些伪影。
另一种方法是简单地复制数据(在每个经度上添加 360)。每边执行几次,并使用 WorldCopyJump
选项来防止用户滚动得太远。
关于javascript - 将 GeoJSON 对象包裹在 Leaflet.js map 周围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48994873/