2015-07-09 1 views
1

Я занимаюсь автономным геокодированием с помощью skobbler sdk. Я использую офлайн-карту для Германии, и я ищу Штаты в пределах Германии. Я установил язык поиска на немецкий язык. В качестве примера я ищу «Niedersachsen». Передача первых нескольких букв, например. «Nie» позволяет SearchManager найти «Niedersachsen», но в переменной skSearchResult имя «Нижняя Саксония». Итак, правильное состояние найдено, но на неправильном языке (английский вместо немецкого). Как я могу это решить? Вот мой кусок кодов, который выполняет поиск:Результаты поиска на английском языке, хотя Язык поиска установлен на немецкий

public class AddressSearchListener implements SKSearchListener { 

    // current list level at which to search 
    private String mapPackageName; 
    private AddressSearchFragment addressSearchFragment; 

    public AddressSearchListener() { 
     Log.d("AddressSearchListener", "begin"); 
     this.mapPackageName = "DE"; 
    } 

    public void setFragment(AddressSearchFragment addressSearchFragment) { 
     this.addressSearchFragment = addressSearchFragment; 
    } 

    public void startSearch(long parentId, SKSearchManager.SKListLevel searchLevel, String s) { 
     Log.d("AddressSearchListener", "startSearch begin"); 
     // get a search manager object 
     SKSearchManager mgr = new SKSearchManager(this); 
     // get a multi-step search object 
     SKMultiStepSearchSettings searchSettings = new SKMultiStepSearchSettings(); 

     searchSettings.setSearchLanguage(SKMaps.SKLanguage.LANGUAGE_DE); 
     // set the offline package in which to search 
     // the France package in this case needs to be installed 
     searchSettings.setOfflinePackageCode(mapPackageName); 
     // set list level of the search 
     searchSettings.setListLevel(searchLevel); 
     // set maximum number of results to be received 
     searchSettings.setMaxSearchResultsNumber(20); 
     // set the id of the parent in which to search 
     searchSettings.setParentIndex(parentId); 
     // set a filter for the results 
     searchSettings.setSearchTerm(s); 
     // initiate the search 
     Log.d("AddressSearchListener", "startSearch time " + System.currentTimeMillis()); 
     mgr.multistepSearch(searchSettings); 
    } 



    @Override 
    public void onReceivedSearchResults(List<SKSearchResult> skSearchResults) { 
     Log.d(getClass().getName(), "onReceivedSearchResults begin"); 
     Log.d("AddressSearchListener", "onReceivedSearchResults time " + System.currentTimeMillis()); 
     List<AddressSearchResultMeta> addressSearchResults = new ArrayList<AddressSearchResultMeta>(); 
     for (SKSearchResult skSearchResult : skSearchResults) { 
      Log.d("onReceivedSearchResults", "result: " + skSearchResult); 
      AddressSearchResultMeta addressSearchResultMeta = new AddressSearchResultMeta(skSearchResult); 
      addressSearchResults.add(addressSearchResultMeta); 
     } 
     addressSearchFragment.passResults(addressSearchResults); 

    } 
} 
+2

Мы передали этот вопрос разработчикам с просьбой о поддержке – SylviA

+0

Разве разработчики уже дали ответ? – unlimited101

+0

Это в списке, но ответа еще нет - извините за задержку – SylviA

ответ

0

Проблема была всего лишь ошибкой в ​​SDK Skobbler. Он исправлен в версии 2.5.1.