С оговоркой, что в v7.0.0 у вас есть возможность использовать Плагин аннотаций , который обеспечивает немного более интуитивно понятный, объектно-ориентированный способ настройки слоя значков / аннотаций, вот мой рекомендуемый подход:
Выложенный вами фрагмент кода является частью потока Style -> Source -> Layer
, используемого для стилизации среды выполнения в SDK Mapbox. Для ваших целей, особенно если вы добавляете на карту несколько маркеров с одним и тем же значком, вы должны добавить свои маркеры через SymbolLayer
. Есть рабочий пример того, как синтаксис SymbolLayer
работает здесь (он также включает в себя некоторый код для добавления интерактивности к вашим маркерам). Вы также можете быстро получить стандартный код на игровой площадке Mapbox .
Чтобы ответить на ваш основной вопрос: SDK не содержит каких-либо удобных методов для загрузки внешних SVG или PNG напрямую в виде iconImage SymbolLayer, поэтому вам нужно использовать библиотеку, такую как Слайд или Пикассо , чтобы получить изображение и преобразовать его в растровое изображение, прежде чем передать его в mapboxMap.addImage()
.