Как рассчитать long / lat местоположения на основе его координат bbox - PullRequest
1 голос
/ 18 марта 2019

Пожалуйста, кто-нибудь может помочь?

Мне нужно использовать метод map.toFly () для интерполяции между двумя местоположениями.

Согласно документации Mapbox, мне нужно передать объект, описывающий пункт назначения, в который я хочу лететь.У объекта должно быть свойство center, содержащее массив с координатами центра Long / lat пункта назначения, в который мне нужно попасть.

https://docs.mapbox.com/mapbox-gl-js/example/flyto/

Моя проблема с реализацией метода заключается в том, чтоУ меня есть только координаты ограничивающего прямоугольника из двух мест, между которыми мне нужно интерполировать.Я не могу сделать что-то вроде этого: map.flyTo (bbox)

Кто-нибудь знает, как получить координаты Long / lat центра каждого местоположения на основе их координат bbox?

1 Ответ

1 голос
/ 18 марта 2019

Если у вас есть 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 использует долготу, порядок координат широты (в отличие от широты, долготы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...