Я занимаюсь автономным геокодированием с помощью 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);
}
}
Мы передали этот вопрос разработчикам с просьбой о поддержке – SylviA
Разве разработчики уже дали ответ? – unlimited101
Это в списке, но ответа еще нет - извините за задержку – SylviA