我有一个带Mapbox地理编码器的Leaflet地图。使用由Mapbox完全渲染的地图,当您将某个位置放入地址解析器时,该地图会从当前位置到新位置具有“飞行”效果。有没有办法在Leaflet地图上获得这种效果。
我在Leaflet文档中什么都找不到(尽管我可能不知道有这种效果的搜索词)。
答案 0 :(得分:1)
您可以使用flyToBounds
方法在Leaflet中设置具有平滑动画的地图视图。
例如,使用leaflet-control-geocoder
:
var geocoder = L.Control.geocoder({
defaultMarkGeocode: false,
geocoder: new L.Control.Geocoder.Nominatim("")
}).addTo(map);
geocoder.on("markgeocode", function (e) {
map.flyToBounds(L.polygon([
e.geocode.bbox.getNorthWest(),
e.geocode.bbox.getSouthWest(),
e.geocode.bbox.getSouthEast(),
e.geocode.bbox.getNorthEast()
]).getBounds());
})
答案 1 :(得分:1)
如果您没有界限,只是想平移/缩放到某个点,请使用map.flyTo(myLatLng, myZoom)