仅限制Mapbox向北/向南平移?

时间:2016-02-26 22:54:54

标签: leaflet mapbox

任何人都知道如何仅使用北/南边界限制Mapbox地图中的平移?我想做的是使用世界副本,以便用户可以连续向东平移到西方,但限制南北平移,这样你就可以在地图图块之外平移(我觉得这很烦人)。我在初始化地图时使用的是maxbounds,以防止平移到极点上方和下方的白色瓷砖,但这与世界复制无关。

1 个答案:

答案 0 :(得分:1)

您可以在-Infinity中使用Infinity west和L.LatLngBounds east(thnx Ivan)来设置maxBounds选项:(在代码段中使用Leaflet但是也适用于Mapbox.js)



var map = new L.Map('leaflet', {
    'center': [0, 0],
    'zoom': 2,
    'worldCopyJump': true,
    'layers': [
        new L.TileLayer('//{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
            'attribution': '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://cartodb.com/attributions">CartoDB</a>'
        }),
        new L.Marker([0,0])
    ],
    'maxBounds': [
        [-90, -Infinity],
        [90, Infinity]
    ]
});
&#13;
body {
    margin: 0;
}

html, body, #leaflet {
    height: 100%;
}
&#13;
<!DOCTYPE html>
<html>
  <head>
    <link type="text/css" rel="stylesheet" href="//cdn.leafletjs.com/leaflet/v0.7.7/leaflet.css" />
  </head>
  <body>
    <div id="leaflet"></div>
    <script type="application/javascript" src="//cdn.leafletjs.com/leaflet/v0.7.7/leaflet.js"></script>
  </body>
</html>
&#13;
&#13;
&#13;