如何将 mapbox 语言更改为波斯语/波斯语
How to change mapbox language to Farsi / Persian
我使用本地化插件版本 0.5.0 并使用 MapLocale.ARABIC local 将标签更改为波斯语,一切正常,所有标签都变成了波斯语。
将 mapbox 更新到 7.1.2 版并将 plugin-localization-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 和 plugin-localization-v7 到 0.8.0 的结果
寻找解决方案
必须在 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);
}
});
}
我使用本地化插件版本 0.5.0 并使用 MapLocale.ARABIC local 将标签更改为波斯语,一切正常,所有标签都变成了波斯语。
将 mapbox 更新到 7.1.2 版并将 plugin-localization-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 和 plugin-localization-v7 到 0.8.0 的结果
寻找解决方案
必须在 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);
}
});
}