使用Mapbox GL JS,我可以使用 cameraForBounds
方法。
const {center, zoom} = map.cameraForBounds(
[
[sw.lng, sw.lat],
[ne.lng, ne.lat],
],
{
padding: 20,
bearing,
pitch, // probably ignored?
},
);
(The 分型 据说 pitch
可以,但 文件 不提也罢 执行所以我认为它被忽略了)。)
这通常很好用,但偶尔也会出现一些情况,我想在地图初始化之前弄清楚中心变焦。似乎边界→相机的转换应该只是数学运算,而不需要Map实例。
我怎样才能在不需要Mapbox GL地图实例的情况下,从边界和方位(最好是俯仰)到包括这些边界的中心缩放?
你不能这样做,原因很简单,你不知道这张地图会占用多少像素。设置中心和缩放决定了地图中间的每个像素将覆盖多少区域(以及哪些区域)。地图DOM元素越大,地图内的区域覆盖的面积就越大。