加载地图

private val mapboxMap by lazy {
mapView.mapboxMap
}

mapboxMap.apply {
loadStyle(Style.MAPBOX_STREETS)
setCamera(
CameraOptions.Builder()
.center(Point.fromLngLat(LONGITUDE, LATITUDE))
.zoom(15.0)
.build()
)
}

可以看到地图的效果是

image-20240521094238076

如何将这些注记用中文展示,需要修改mapboxMap的style

private lateinit var locale: Locale


locale = resources.configuration.locales.get(0)
mapboxMap.apply {
loadStyle(Style.MAPBOX_STREETS){
//或者这里的local 也可以直接使用Locale.CHINA
it.localizeLabels(locale)
}
setCamera(
CameraOptions.Builder()
.center(Point.fromLngLat(LONGITUDE, LATITUDE))
.zoom(15.0)
.build()
)
}

修改后的效果如下:

image-20240521095609486

需要注意的是,这里并不是所有的注记都成了中文

更多可以参考:https://github.com/mapbox/mapbox-maps-android/tree/v11.3.1/extension-localization

在这里它添加了

implementation("com.mapbox.extension:maps-localization:11.3.1")

这个依赖,但是我们在直接使用Mapbox的依赖里面,已经包涵了上面的依赖

implementation("com.mapbox.maps:android:11.3.1")