Мне очень нужен совет по этому вопросу.
Я пытаюсь заставить работать плагин Mapbox Annotation. на https://docs.mapbox.com/android/plugins/overview/annotation/ он говорит, что нужно создать SymbolManager следующим образом:
// create symbol manager object
val symbolManager = SymbolManager(mapView, mapboxMap)
На «SymbolManager» я получаю сообщение об ошибке: Ни одна из следующих функций не может быть вызвана с предоставленными аргументами.
- (MapView, MapboxMap, Стиль), определенный в com.mapbox.mapboxsdk.plugins.annotation.SymbolManager
- (MapView, MapboxMap, Стиль, CoreElementProvider, String ?, GeoJsonOptions ?, DraggableAnnorolont)определено в com.mapbox.mapboxsdk.plugins.annotation.SymbolManager
- (MapView, MapboxMap, Style, String?), определено в com.mapbox.mapboxsdk.plugins.annotation.SymbolManager
- (MapView, MapboxMap, Style, String ?, GeoJsonOptions?), Определенные в com.mapbox.mapboxsdk.plugins.annotation.SymbolManager
Кажется, что мне нужен объект стиля. Поэтому я решил пойти следующим образом:
override fun onMapReady(mapboxMap: MapboxMap) {
this.map = mapboxMap
mapboxMap.setStyle(Style.MAPBOX_STREETS) {
//this here is just to be able to see your own location on the android device, it should not interfer with the symbol manager (i guess)
enableLocationComponent(it)
//get the current Stly (MAPBOX_STREETS)
val style: Style = mapboxMap.style!!
//Create Symbol Manager, it requires a style object so i'm using the one i created above, documentation actually doenst say any style object is needed here
val symbolManager = SymbolManager(CellMap!!, mapboxMap, style)
//non data driven properties
symbolManager.iconAllowOverlap = true
//create symbol to test the symbol function
val symbolOptions: SymbolOptions = SymbolOptions()
.withLatLng( LatLng(37.410, -122.084))
.withIconImage("res/mipmap/ic_launcher/ic_launcher.png")
.withIconSize(1.3f)
.withSymbolSortKey(10.0f)
.withDraggable(true)
symbol = symbolManager.create(symbolOptions)
}
}
Я использую значок, который уже был предоставлен Android Studio. Тем не менее, когда я открываю карту, на карте не отображается никаких символов, и я не понимаю, почему. Код, который я использую, я получил из кода Java здесь: https://github.com/mapbox/mapbox-plugins-android/blob/master/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/activity/annotation/SymbolActivity.java Мне просто нужно было «преобразовать» его в kotlin, что я и сделал сам. Не уверен, что сделал что-то не так, но по крайней мере я не получаю никаких ошибок.
Заранее спасибо. Надеюсь, я предоставил всю необходимую информацию, чтобы помочь мне. Если нет, я был бы очень рад предоставить это. Также я попытался отформатировать все правильно, извините, если что-то пропустил.