【问题标题】:osmdroid - custom view for markerosmdroid - 标记的自定义视图
【发布时间】:2021-02-07 16:42:06
【问题描述】:

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

你知道任何解释如何做到这一点的教程吗?现在我完全迷路了。

【问题讨论】:

    标签: android osmdroid


    【解决方案1】:

    根据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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多