Mapbox Android Marker устаревший API 21

#android #mapbox #android-mapview #mapbox-android

#Android #mapbox #android-mapview #mapbox-Android

Вопрос:

Android studio сообщает мне, что маркеры в Mapbox устарели (уровень API 21 , mapbox-android-sdk: 7.2.0). Но в официальной документации приведен пример:

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

Должен ли я добавлять маркеры таким образом или есть новый способ сделать это?

Комментарии:

1. Если вы используете v7.x Android Maps SDK, я бы рекомендовал вместо этого использовать плагин для аннотаций .

Ответ №1:

Чтобы добавить маркеры на вашу карту, вы должны использовать плагин аннотации

Сначала добавьте зависимость от 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 для добавления маркеров на карту. Вы можете сделать это с помощью style.addLayer(….) внутри функции map ready.

Ответ №3:

Слышите, является ли mapbox устаревшей детализацией

Это ссылка для обновления mapbox

Плагин для обработки аннотаций Начиная с версии 7.0.0 Mapbox Maps SDK для Android, большая часть кода на этой странице устарела. Такие классы, как полигон, полилиния и маркер, больше не будут поддерживаться. Это также означает, что такие классы, как PolygonOptions и PolylineOptions, не должны использоваться. Наконец, это также означает, что такие методы, как addPolygon(), addPolyline() или addMarker() также не следует использовать.

Если вы планируете добавить на карту какие-либо значки, текст, линии или полигоны, загляните в плагин аннотаций Mapbox для Android. Это упрощает аннотации и обеспечивает дополнительную гибкость для отображения данных.