Как получить координаты краев области просмотра карты mapbox-gl с учетом шага и направления? - PullRequest
0 голосов
/ 23 мая 2018

Я не могу понять, как получить координаты области просмотра карты, которые будут сразу после изменения пользователем высоты тона и направления

Это пример моего кода - https://jsfiddle.net/5uwdfhdp/6/ Я использую .getBounds() методно кажется, что это работает неправильно.

После нажатия на карту до того, как пользователь повернет ее, я получаю прямоугольник справа, после - что-то смешное.

Возможно, я неправильно использую координаты, но мне кажется, что метод mapbox не работает должным образом.

1 Ответ

0 голосов
/ 24 мая 2018

Проблема в том, что когда вы строите прямоугольник с ортогональным отражением координат, вы не учитываете поворот и наклон.Попробуйте получить геополигон через пиксельные координаты контейнера:

const canvas = map.getCanvas()
const w = canvas.width
const h = canvas.height
const cUL = map.unproject ([0,0]).toArray()
const cUR = map.unproject ([w,0]).toArray()
const cLR = map.unproject ([w,h]).toArray()
const cLL = map.unproject ([0,h]).toArray()
const coordinates = [cUL,cUR,cLR,cLL,cUL]
const polygon = turf.polygon([coordinates])

https://jsfiddle.net/7vzyrx9d/

https://github.com/mapbox/mapbox-gl-js/issues/2375

...