gpt4 book ai didi

leaflet - 传单中的动画 setView()

转载 作者:行者123 更新时间:2023-12-03 23:23:13 26 4
gpt4 key购买 nike

我的传单 map 中有一个搜索栏,我希望 map 在从搜索栏中选择时缓慢缩放并平移到标记。我可以让它缩放和平移,但不会很慢。我想要的效果类似于当您在 Google 地球中输入一个位置并且 View 从一个位置“飞”到另一个位置时。这是我拥有的代码,可以缩放到我的位置,但速度不慢。

controlSearch = new L.Control.Search({layer:listOfMarkers, propertyName: 'IntersectionName', circleLocation:true,  position:'topleft'});
map.addControl(controlSearch)

controlSearch.on('search_locationfound', function(e){
map.setView(e.latlng,15, {animate:true, duration:10.0})
});

我正在使用传单 v0.7.7。

谢谢!

最佳答案

不幸的是,在 Leaflet 0.7.7* 中,没有办法改变任何改变当前缩放级别的 setView 的持续时间。任何动画缩放的持续时间都被硬编码为 0.25 秒,并且因为 setView 接受 zoom/pan options ,其中不包括 duration ,您的 duration:10.0 将被忽略。

但是,setView 接受单独的平移和缩放选项,并且因为 pan options 确实包含持续时间,您可以使用以下方法在当前缩放级别平滑平移:

map.setView(e.latlng, map.getZoom(), {
"animate": true,
"pan": {
"duration": 10
}
});

我意识到这不是您想要的,但它更近了一步。

*在 Leaflet 1.0b 中,有一个 flyTo method ,它产生您描述的效果,但在 0.7.7 中没有类似的东西。

关于leaflet - 传单中的动画 setView(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36167218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com