我正在做什么:点击地图上的标记来打开侧边面板并将地图居中于标记。该侧边面板占据屏幕右侧3/4。
我需要实现的内容:将标记居中于面板打开后剩余1/4视窗的中心位置。
我可以获取标记的像素坐标,并在面板动画打开时计算其需要转换到的位置。问题是,flyTo()
只接受LngLatLike
对象,我无法将我的像素坐标转换为经纬度。Leaflet.js有一个名为containerPointToLatLng()
的函数,在我切换至Mapbox GL之前非常有用。
考虑到Mapbox GL的复杂性,尽管它很新,我想这可能是一种解决方法。但是如何实现呢?
zoom
属性添加到您的选项对象中即可。文档。我喜欢在这里使用 offset,因为它会为您计算 - 只需传入一个 PointLike 值 [x, y]。 - Roy