【问题标题】:Mapbox Android Marker deprecated API 21+Mapbox Android Marker 已弃用 API 21+
【发布时间】:2019-04-23 07:26:05
【问题描述】:

Android 工作室告诉我,Mapbox 中的标记已被弃用(API 级别 21+,mapbox-android-sdk:7.2.0)。但在官方文档中的例子是:

mapboxMap.addMarker(new MarkerOptions()
.position(new LatLng(48.85819, 2.29458))
.title("Eiffel Tower"));

我应该以这种方式添加标记还是有一种新的方式?

【问题讨论】:

  • 如果您使用的是 Android Maps SDK 的 +v7.x,我建议您改用 Annotation Plugin

标签: android mapbox android-mapview mapbox-android


【解决方案1】:

要将标记添加到您的地图,您必须使用注释plugin

首先,添加 Gradle 依赖

implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.8.0'

然后在你的 onMapReady 方法中,你使用 SymbolManager 在地图上添加一个标记

    override fun onMapReady(mapboxMap: MapboxMap) {
    mapboxMap.setStyle(Style.MAPBOX_STREETS) { style ->

    val symbolManager = SymbolManager(mapView, mapboxMap, style)
    symbolManager.iconAllowOverlap = true
    style.addImage("myMarker",BitmapFactory.decodeResource(resources,R.drawable.ic_maker))
   symbolManager.create(SymbolOptions()
                            .withLatLng(LatLng(-1.693314, 29.225241))
                            .withIconImage("myMarker")
                    )
        }
     }

【讨论】:

    【解决方案2】:

    这应该可以工作...

    新的 mapbox 版本 api 提供了另一个 api 来在地图上添加标记。您可以在 map ready 函数中使用 style.addLayer(....)。

    【讨论】:

      【解决方案3】:

      听到的是mapbox的详细说明

      This is the link to update mapbox

      处理注解的插件 自 Android 版 Mapbox Maps SDK 7.0.0 版本起,此页面上的大部分代码已被弃用。 Polygon、Polyline 和 Marker 等类将不再保留。这也意味着不应使用 PolygonOptions 和 PolylineOptions 等类。最后,这也意味着 addPolygon()、addPolyline() 或 addMarker() 等方法也不应该使用。

      如果您打算向地图添加任何图标、文本、线条或多边形,请查看适用于 Android 的 Mapbox Annotation Plugin。它简化了注释并为显示数据提供了额外的灵活性。

      【讨论】:

        猜你喜欢
        • 2015-08-22
        • 1970-01-01
        • 2019-07-30
        • 2023-03-17
        • 1970-01-01
        • 2019-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多