0
任何人都知道如何僅使用南北界限限制Mapbox地圖中的平移?我想要做的就是使用世界副本,以便用戶可以不斷向東移動到西部,但限制南北平移,這樣您就無法在地圖平鋪之外平移(這讓我覺得非常煩人)。我目前在初始化地圖時使用了maxbounds,以防止搖到白色瓷磚上方和下方,但這是世界複製的禁忌。限制Mapbox僅向南/向南平移?
任何人都知道如何僅使用南北界限限制Mapbox地圖中的平移?我想要做的就是使用世界副本,以便用戶可以不斷向東移動到西部,但限制南北平移,這樣您就無法在地圖平鋪之外平移(這讓我覺得非常煩人)。我目前在初始化地圖時使用了maxbounds,以防止搖到白色瓷磚上方和下方,但這是世界複製的禁忌。限制Mapbox僅向南/向南平移?
您可以使用-Infinity
西部和東部Infinity
(日Thnx伊萬)的L.LatLngBounds
您使用設置maxBounds
選項:(在片段使用單張,但應該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]
]
});
body {
margin: 0;
}
html, body, #leaflet {
height: 100%;
}
<!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>
您也可以使用Infinity和Infinity代替360和-360。 – IvanSanchez
這看起來更清潔/更好,我會改變我的答案,thnx。 – iH8