Как изменить язык mapbox на фарси / персидский - PullRequest
0 голосов
/ 04 марта 2019

Я использовал плагин локализации версии 0.5.0 и локальный MapLocale.ARABIC для изменения меток на персидские, и все работает нормально, и все метки превращаются в персидские.

После обновления 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'

Результат в mapbox6.8.1 и плагин-локализация до 0.5.0

photo_2019-02-24_11-48-47

Результат в mapbox 7.1.2 и плагин-локализация-v7 до 0.8.0

photo_2019-02-24_12-01-40

1 Ответ

0 голосов
/ 06 марта 2019

НАЙТИ РЕШЕНИЕ

Необходимо использовать этот код в 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);
        }
    });
}
...