【发布时间】:2021-02-07 16:42:06
【问题描述】:
我目前正在尝试开发一个应用程序,我需要在点击标记时显示自定义视图。据我现在了解,我必须创建一个启动视图的 InfoWindow。
你知道任何解释如何做到这一点的教程吗?现在我完全迷路了。
【问题讨论】:
我目前正在尝试开发一个应用程序,我需要在点击标记时显示自定义视图。据我现在了解,我必须创建一个启动视图的 InfoWindow。
你知道任何解释如何做到这一点的教程吗?现在我完全迷路了。
【问题讨论】:
根据osmDroid 文档,您可以创建一个类并从InfoWindow 扩展它并传递一个CustomView(在下面的示例中我传递了TextView)或一个布局资源ID。然后实例化并将其设置为标记的 infoWindow :
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)
【讨论】: