Mapbox Map Kotlin注释插件-必需的“样式”,找到的“样式?”

时间:2019-10-20 11:34:21

标签: android kotlin mapbox symbols

我真的需要一些建议。

我正在尝试使Mapbox注释插件正常工作。 在MDN docs上说创建一个SymbolManager像这样:

// create symbol manager object
val symbolManager = SymbolManager(mapView, mapboxMap)

在“ SymbolManager”上,我收到错误消息: 使用提供的参数不能调用以下任何函数。

    在com.mapbox.mapboxsdk.plugins.annotation.SymbolManager中定义的
  • (MapView,MapboxMap,样式)
  • 在com.mapbox.mapboxsdk.plugins.annotation.SymbolManager中定义的
  • (MapView,MapboxMap,样式,CoreElementProvider,String?,GeoJsonOptions?,DraggableAnnotationController !!)
  • 在com.mapbox.mapboxsdk.plugins.annotation.SymbolManager中定义的
  • (MapView,MapboxMap,样式,字符串?)
  • 在com.mapbox.mapboxsdk.plugins.annotation.SymbolManager中定义的
  • (MapView,MapboxMap,样式,字符串?,GeoJsonOptions?)

似乎我需要样式对象。 所以我决定这样走:

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://docs.mapbox.com/android/plugins/overview/annotation/ 我只需要将其“转换”为我自己做的kotlin。不知道我是否做错了什么,但至少我没有收到任何错误。

先谢谢了。我希望我能提供帮助我的所有必要信息。如果没有,我会很乐意提供。我也试图以正确的方式格式化所有内容,如果我错过了什么,对不起。

1 个答案:

答案 0 :(得分:0)

像这样添加您的位图资源

mapboxMap.getStyle().addImage("my-marker",bitmap)

然后将相同的字符串传递给

.withIconImage("my-marker")