禁止平移完全远离世界地图
Disallow panning completely away from world map
有没有办法限制在 Mapbox 容器内平移,这样当 renderWorldCopies
设置为 false 时,您不能通过平移完全隐藏世界?如果您完全缩小地图,您可以将地图向任一侧平移,直到它完全隐藏。如何禁止此操作并使地图保留在容器内?
我尝试通过将边界设置为 [[-90, -90], [90, 90]]
:
来调整 MapBox GL JS documentation on restricting map panning area 中的示例
var bounds = [
[-90, -90], // Southwest coordinates
[90, 90] // Northeast coordinates
];
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [-73.9978, 40.7209],
zoom: 3,
renderWorldCopies: false,
maxBounds: bounds
});
这让我参与其中,但限制了平移区域太多,并且在一路缩小时切断了一些世界:
Screenshot of map
摄像头位置就是那个例子限定的位置。因此,您可以看到比平移限制内的区域更多的区域。
你选择的界限,确实隔断了半个世界。
请尝试使用这些边界,它们应该可以解决这个问题:
var bounds = [
[-180, -90], // Southwest coordinates
[180, 90] // Northeast coordinates
];
有没有办法限制在 Mapbox 容器内平移,这样当 renderWorldCopies
设置为 false 时,您不能通过平移完全隐藏世界?如果您完全缩小地图,您可以将地图向任一侧平移,直到它完全隐藏。如何禁止此操作并使地图保留在容器内?
我尝试通过将边界设置为 [[-90, -90], [90, 90]]
:
var bounds = [
[-90, -90], // Southwest coordinates
[90, 90] // Northeast coordinates
];
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [-73.9978, 40.7209],
zoom: 3,
renderWorldCopies: false,
maxBounds: bounds
});
这让我参与其中,但限制了平移区域太多,并且在一路缩小时切断了一些世界:
Screenshot of map
摄像头位置就是那个例子限定的位置。因此,您可以看到比平移限制内的区域更多的区域。
你选择的界限,确实隔断了半个世界。 请尝试使用这些边界,它们应该可以解决这个问题:
var bounds = [
[-180, -90], // Southwest coordinates
[180, 90] // Northeast coordinates
];