在 mapbox.js 内控制平移和缩放动画持续时间
Control pan and zoom animation duration in mapbox.js
我正在使用 Mapbox.js 制作显示一系列点的动画地图。理想情况下,我想通过像在 d3.js 中创建的 example 那样组合缩放和平移来平滑地切换点之间的焦点。我想知道是否有控制平移和缩放动画速度的方法(主要是减慢速度)。在下面的代码中,我尝试了 setView() 和 panTo() 函数,但转换速度太快。任何建议将不胜感激,谢谢!
L.mapbox.accessToken = "#Token Here";
var map = L.mapbox.map('map', 'mapbox.streets')
.setView([34.01, -118.48], 5, {
pan: { animate: true },
zoom: { animate: true }
});
map.setView([33.98, -118.42], 5);
看看this fiddle。
您可以使用如下函数:
function jumpTo(index){
map.setView(positions[index], 4, {
pan: {
animate: true,
duration: 2
},
zoom: {
animate: true
}
});
}
并在 moveend
事件上控制它。
我正在使用 Mapbox.js 制作显示一系列点的动画地图。理想情况下,我想通过像在 d3.js 中创建的 example 那样组合缩放和平移来平滑地切换点之间的焦点。我想知道是否有控制平移和缩放动画速度的方法(主要是减慢速度)。在下面的代码中,我尝试了 setView() 和 panTo() 函数,但转换速度太快。任何建议将不胜感激,谢谢!
L.mapbox.accessToken = "#Token Here";
var map = L.mapbox.map('map', 'mapbox.streets')
.setView([34.01, -118.48], 5, {
pan: { animate: true },
zoom: { animate: true }
});
map.setView([33.98, -118.42], 5);
看看this fiddle。
您可以使用如下函数:
function jumpTo(index){
map.setView(positions[index], 4, {
pan: {
animate: true,
duration: 2
},
zoom: {
animate: true
}
});
}
并在 moveend
事件上控制它。