Mapbox:如何连续包装要素层

Posted

技术标签:

【中文标题】Mapbox:如何连续包装要素层【英文标题】:Mapbox: How to continuously wrap a feature layer 【发布时间】:2014-05-14 07:54:59 【问题描述】:

Mapbox 可以连续包裹瓦片层,这样您就可以在重复的世界地图上向左和向右无限滚动。

我已向世界地图添加了一个要素图层,该地图显示了一些标记,并且由于某种原因,此要素图层也不会换行。标记仅存在于世界瓦片层的原始迭代中。

我尝试在添加要素图层时使用noWrap: false选项属性来控制切片图层上的此特性,但似乎没有任何效果。

有什么办法吗?

【问题讨论】:

【参考方案1】:

使用 worldCopyJump 选项

示例:

var map = L.mapbox.map('map', 'your.mapid', center: [lat, long],
                                                     zoom: 4,
                                                     worldCopyJump: true
                                                    );

【讨论】:

这行得通,但它是解决手头问题的一个非常糟糕的解决方案。如果您使用的地图有很多标记,并且国际日期变更线位于地图的中心,您会在一半上看到标记,而在另一半上看不到标记。当您左右滚动地图时,地图会“跳跃”(顾名思义),并且标记会在日期线的两侧出现和消失。这是一种糟糕的用户体验。【参考方案2】:

不确定我是否理解您的问题...

你可以使用

maxBounds: [[-90,-180],[90,180]]

例如

map = L.mapbox.map('map', '<some map id>',minZoom: 0, maxZoom: 10, maxBounds: [[-90,-180],[90,180]]);

https://www.mapbox.com/mapbox.js/example/v1.0.0/maxbounds/

【讨论】:

这就是我最终要做的。我更希望要素层用世界图块包裹,这样滚动就不必被夹住了。不过,据我所知,这是不可能的。

以上是关于Mapbox:如何连续包装要素层的主要内容,如果未能解决你的问题,请参考以下文章

使用 Mapbox 一起添加自定义图标和标记数据

如何编写一个考虑缩放、特征状态和数据驱动样式的 Mapbox 绘制表达式?

如何在 mapbox 中为 Geoserver 图层设置动画?

如何在 mapbox-gl 中为图层文本字段添加背景颜色

创建自定义地图叠加层(折线)[Mapbox]

MapBox - 每个功能的符号层中的不同图标图像