1

我正在制作一张使用 Mapbox.js 显示一系列点的动画地图。理想情况下,我想通过结合缩放和平移来平滑地切换点之间的焦点,就像在 d3.js 中创建的这个示例一样。我想知道是否有任何方法可以控制平移和缩放动画速度(主要是减慢它的速度)。在下面的代码中,我尝试了 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);
4

1 回答 1

1

看看这个小提琴

您可以使用如下函数:

function jumpTo(index){
    map.setView(positions[index], 4, {
        pan: {
            animate: true,
            duration: 2
        },
        zoom: {
            animate: true
        }
    });
}

moveend并在事件中控制它。

于 2015-06-08T11:07:10.687 回答