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 绘制表达式?