请问有人可以帮忙吗?
我需要使用map.toFly()方法在2个位置之间进行插值。
根据Mapbox文档,我需要传递一个描述我要飞往的目的地的对象。该对象必须具有一个center属性,该属性包含一个数组,该数组的中心是我要到达的目的地的经纬度坐标。
https://docs.mapbox.com/mapbox-gl-js/example/flyto/
我实现该方法的问题是,我只有两个需要插值的位置的边界框坐标。我不能做这样的事情: map.flyTo(bbox)
有人知道如何获得 center每个位置的长/纬度坐标基于其bbox坐标?
答案 0 :(得分:1)
假设您有2个LngLatBounds
对象,则可以调用getCenter()
方法。
var point1 = bounds1.getCenter();
var point2 = bounds2.getCenter();
其中bounds1
和bounds2
都是类型LngLatBounds
的对象。
检查: https://docs.mapbox.com/mapbox-gl-js/api/#lnglatbounds#getcenter
编辑:对于您在注释中给出的值,它将是第一个边界:
var sw1 = new mapboxgl.LngLat(110.2672863, -7.1144639);
var ne1 = new mapboxgl.LngLat(110.5088836, -6.9319917);
var bounds1 = new mapboxgl.LngLatBounds(sw1, ne1);
注意:Mapbox GL使用经度,纬度坐标顺序(与纬度,经度相对)。