你能用填充来抵消 map.getCenter 吗?

Can you offset map.getCenter with padding?

在 Mapbox 中你可以使用 setCenter with an optional "padding" value which is useful for offsetting the map center if there are things such as overlays on part of the map. However getCenter 似乎没有相同的填充选项。当我需要获得与偏移中心的视觉位置相匹配的地图中心时,这就成了一个问题。有谁知道一种方法可以像 setCenter 一样考虑填充来获取地图的中心?

我找到的解决方案是使用 Mapbox 的 unproject method. I first obtained the x/y screen coordinates of the offset map center, converted them to a mapbox Point 对象,然后使用 unproject 获取该位置的经纬度。

const point = new mapboxgl.Point(screenX, screenY);
const latLng = map.unproject(point);