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)
我目前正在尝试开发一个应用程序,我需要在其中点击标记时显示自定义视图。据我现在的了解,我必须创建一个启动视图的信息窗口。
您知道任何解释如何执行此操作的教程吗?现在我完全迷路了。
根据 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)