2

我已经在我的网站上嵌入了一个自定义 mapbox studio 地图并设置了 minZoom 和 maxZoom 坐标,因此它只缩小到某个缩放级别并放大到某个缩放级别。但是当用户放大时,地图会转到用户放置鼠标指针的位置,这是正确的,但是我希望它放大回到它的起点,而不是用户放置鼠标指针的位置。
这是我找到的最接近的示例,但我不想叙述,我希望用户只在地图上滚动: https ://www.mapbox.com/mapbox-gl-js/example/scroll-fly-至/

如何做到这一点,当用户向下滚动嵌入地图时缩小到一组坐标,当用户向上滚动时,嵌入地图又放大到一组坐标?

var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v8',
center: [-118.451784, 34.035947], // starting position
zoom: 11.66,
maxZoom: 11.66, // starting zoom
minZoom: 1.4, // ending zoom
doubleClickZoom: false,
dragRotate: false,
dragPan: false

});

4

1 回答 1

1

不幸的是,这对于现有的 mapbox-gl-js API 来说并不容易。我建议禁用所有内置的交互处理程序并为调用的wheel事件编写自己的事件处理程序Map#setZoom

于 2016-03-02T19:14:27.253 回答