传单.js设置适合边界动画的持续时间

leaflet.js set duration of fitBounds animation

本文关键字:动画 持续时间 边界 js 设置 传单      更新时间:2023-09-26

我使用Leaflet向用户显示地图。地图上有几个标记,当用户单击一个标记时,我想平移到标记位置并放大。我可以使用以下代码来实现此目的:

    map.fitBounds([
        // bounds of clicked marker
    ]);

这工作正常,传单甚至可以动画过渡。我想要的是以毫秒为单位设置动画的持续时间。 FitBounds 提供了一些选项,但没有一个选项允许我指定平移和缩放动画的持续时间。谁能帮我解决这个问题?

这是

不正确的,fitBounds 方法确实接受缩放/平移选项,这些选项的平移选项具有持续时间,如 fitBounds 选项的文档中所述。

你要找的是flyToBounds(<LatLngBounds> bounds, <fitBounds options> options?)

使用平滑的动画设置地图视图,如 flyTo ,但需要一个边界参数,如 fitBounds .

map.flyToBounds(bounds, { duration: 1 } );
正如

@leonhees所说,您可以使用flyToBounds根据对象(折线,多边形等)来适应传单地图。

即使您可以添加动画持续时间等选项

下面是一个示例:

my_map.flyToBounds(new L.polyline(LatLng).getBounds(), {'duration':0.25} )