Mapbox GL JS - плоский маркер

Для проекта, над которым я сейчас работаю, я хочу использовать mapbox-gl-js для реализации автомобильной навигации на raspberry pi (с использованием данных автономной карты и OSRM для маршрутизации). Я хочу отобразить текущую позицию на маршруте с помощью маркера со стрелкой - точно так же, как в Google Maps (я знаю, это можно легко сделать с помощью маркеров Mapbox, но ...).

Можно ли каким-либо образом добавить «плоский» маркер, который всегда находится в той же плоскости, что и карта, даже когда вид наклонен / наклонен (т. Е. Изображение маркера становится сплющенным и овальным при наклоне и круглым при просмотре сверху )? Это поведение в GMaps можно увидеть здесь: Маркер карты - белый кружок имеет овальную форму и стрелка короче, чем при просмотре сверху.

Поиск в SO и в Интернете не дал каких-либо значимых ответов (за исключением, возможно, этого, но ссылка на пример мертвая). Я знаю, что это, скорее всего, может быть реализовано с использованием настраиваемого слоя GL, но это кажется довольно сложным для рассматриваемой проблемы ...

Я также заметил, что источник GEOJson типа «изображение» отображается с таким эффектом, поэтому в крайнем случае я мог бы, вероятно, вычислить требуемые четыре координаты края из текущей позиции. Хотя я бы с удовольствием использовал более простой метод.


person f0xacid    schedule 29.12.2018    source источник


Ответы (1)


Используйте слой символов со свойством макета "icon-pitch-alignment": "map".

Пример https://jsbin.com/hoziqeb/edit?html,output

person AndrewHarvey    schedule 30.12.2018
comment
Большое спасибо, это именно то, что я искал! Думаю, я просто недостаточно внимательно посмотрел ;-) - person f0xacid; 01.01.2019