osmdroid - 标记的自定义视图

osmdroid - custom view for marker

我目前正在尝试开发一个应用程序,我需要在其中点击标记时显示自定义视图。据我现在的了解,我必须创建一个启动视图的信息窗口。

您知道任何解释如何执行此操作的教程吗?现在我完全迷路了。

根据 osmDroid 文档,您可以创建一个 class 并从 InfoWindow 扩展它并传递一个 CustomView(在下面的示例中我传递了 TextView)或布局资源 ID。然后实例化并将其设置为标记的信息窗口:

class CustomInfoWindow(
    private val infoTitle: String,
    mapView: MapView
) : InfoWindow(
    TextView(mapView.context).apply {
        setTextColor(Color.RED)
        text = infoTitle
    }, mapView
) {
    override fun onOpen(item: Any?) {
        // ...
    }

    override fun onClose() {
        // ...
    }
}

并使用:

val newMarker = Marker(mapView).apply {
    position = GeoPoint(....)
    infoWindow = CustomInfoWindow("Hello", mapView)
}
overlays.add(newMarker)