Как добавить маркер с разными изображениями в mapbox во время выполнения? - PullRequest
0 голосов
/ 06 июня 2019

У меня проблема, я хочу добавить разные изображения на маркер во время выполнения.

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

Вот так я сейчас добавляю изображения в mapbox

mapView.getMapAsync {
    it.setStyle(Style.Builder().fromUrl("mapbox://styles/{user}/{mapid}")) { style ->
        // Add the marker image to map
        ContextCompat.getDrawable(this, R.drawable.ic_user_one_round)?.let { img ->
            style.addImageAsync("key", img)
        }
}

Mapbox должен иметь возможность показывать изображения или отображать их во время выполнения на другом маркере.

Например, Snap Chat используя его прямо сейчас.

1 Ответ

0 голосов
/ 07 июня 2019

Если вы хотите использовать более раннюю версию Marker API, вы можете просто добавить маркеры с помощью mapView.addMarkers(). Вы можете настроить их во время выполнения с MarkerOptions() или MarkerViewOptions(). Подробнее о маркерах здесь .

С другой стороны, вы можете использовать SymbolLayer , чтобы предоставить свои собственные маркеры, что позволяет больше настраивать и настраивать логику для стиля (и производительности). Я рекомендую прочитать это .

Третий вариант - использовать новый плагин аннотации, который в основном аналогичен непосредственному использованию Layers , но с большим удобством и меньшим количеством необходимости писать шаблонный код. Некоторые примеры здесь и в репозитории Github .

...