任何人都知道如何仅使用北/南边界限制Mapbox地图中的平移?我想做的是使用世界副本,以便用户可以连续向东平移到西方,但限制南北平移,这样你就可以在地图图块之外平移(我觉得这很烦人)。我在初始化地图时使用的是maxbounds,以防止平移到极点上方和下方的白色瓷砖,但这与世界复制无关。
答案 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': '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, © <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;