在 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 事件上控制它。