如何在运行时在mapbox中添加具有不同图像的标记?

时间:2019-06-06 12:19:48

标签: android mapbox mapbox-android

我有一个问题,我想在运行时在标记上添加不同的图像。

我基本上可以添加样式的图像,然后必须加载地图以添加带有其他图像的标记。

这就是我现在在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应该能够在运行时在其他标记上显示图像或渲染图像。

例如,立即使用聊天

1 个答案:

答案 0 :(得分:0)

如果您想使用较旧的Marker API,只需通过mapView.addMarkers()添加标记。您可以在运行时使用MarkerOptions()MarkerViewOptions()自定义它们。有关标记here的更多信息。

另一方面,您可以使用 SymbolLayer 提供您的自定义标记,从而为样式(和性能)提供更多的自定义和自定义逻辑。我建议阅读this

第三个选择是使用新的注释插件,这与直接使用 Layers 相似,但是更加方便,而且无需编写样板代码。一些示例herein the Github repo