我使用了本地化插件版本0.5.0,使用MapLocale.ARABIC本地语言将标签更改为波斯语,所有的标签都能正常工作,所有标签都变成波斯语。
在将mapbox更新到7.1.2版本和插件-本地化-v7到0.8.0之后,地图上不再有波斯标签。
我使用这个代码
@Override
public void onMapReady(@NonNull MapboxMap mapboxMap) {
mapboxMap.setStyle(Style.MAPBOX_STREETS, style -> {
if (mapStyle.isFullyLoaded){
LocalizationPlugin localizationPlugin = LocalizationPlugin(mapView, map , style )
localizationPlugin.setMapLanguage(MapLocale(MapLocale.ARABIC))
}else{
Timber.e("Mapbox LocalizationPlugin won't loaded, The style has to be non-null and fully loaded.")
}
}而这些依赖关系
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:7.1.2'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v7:0.8.0'mapbox 6.8.1和插件本地化到0.5.0的结果

结果在mapbox 7.1.2和插件-本地化-v7到0.8.0

发布于 2019-03-06 10:54:53
查找解决方案
必须在onMapReady回调中使用此代码
@Override
public void onMapReady(@NonNull MapboxMap mapboxMap) {
mapboxMap.setStyle(Style.MAPBOX_STREETS, new Style.OnStyleLoaded() {
@Override
public void onStyleLoaded(@NonNull Style style) {
LocalizationPlugin localizationPlugin = new LocalizationPlugin(mapView, mapboxMap , style);
localizationPlugin.setMapLanguage(MapLocale.LOCAL_NAME);
}
});
}https://stackoverflow.com/questions/54983634
复制相似问题