防止复制地图并在世界范围内继续拖动

时间:2015-10-13 14:26:00

标签: javascript maps leaflet draggable

有没有办法让传单不重复世界地图并使地图在拖动时保持在世界范围内?并且当世界大小达到窗口大小时禁用缩小

enter image description here

2 个答案:

答案 0 :(得分:4)

要停止重复切片,请使用noWrap

L.TileLayer选项
  

如果设置为true,则瓷砖不会加载到世界宽度(-180到180经度)之外而不是重复。

http://leafletjs.com/reference.html#tilelayer-nowrap

如果要停止平移超出定义的范围,请使用maxBounds的{​​{1}}选项或调用L.Map方法:

  

将视图限制在给定的地理范围内,当用户尝试在视图外平移时将其弹回。

如果要禁用超出特定级别的缩放,请使用setMaxBounds的{​​{1}}和L.Map选项。您要做的是设置最小缩放级别并将其用作初始缩放。什么因素取决于你的地图的元素大小和你的瓦片层的瓦片大小。大多数瓷砖提供商使用256px²。在缩放0时,世界是1个图块,缩放1,2x2图块,3图4x4等等。因此,如果地图的元素是512px²,则minZoom将为1。

以下是关于Plunker的演示:http://embed.plnkr.co/rP5NLQ/preview

答案 1 :(得分:1)

通过设置最小缩放级别:

map._layersMinZoom=1(将最小缩放级别设置为1)

map.options.minZoom = 1;

了解更多here