Android 搜索结果为英语,但搜索语言设置为德语

Android 搜索结果为英语,但搜索语言设置为德语,android,skmaps,Android,Skmaps,我正在使用skobbler sdk进行离线地理编码。我使用德国的离线地图,我正在搜索德国境内的州。我已将搜索语言设置为德语。作为一个例子,我正在寻找“尼德萨克森”。传递前几个字母,例如“Nie”,使SearchManager找到“Niedersachsen”,但在skSearchResult变量中,名称为“Lower Saxony”。因此,正确的状态是用错误的语言(英语而不是德语)找到的。我怎样才能解决这个问题?以下是我进行搜索的代码: public class AddressSearchLis

我正在使用skobbler sdk进行离线地理编码。我使用德国的离线地图,我正在搜索德国境内的州。我已将搜索语言设置为德语。作为一个例子,我正在寻找“尼德萨克森”。传递前几个字母,例如“Nie”,使SearchManager找到“Niedersachsen”,但在skSearchResult变量中,名称为“Lower Saxony”。因此,正确的状态是用错误的语言(英语而不是德语)找到的。我怎样才能解决这个问题?以下是我进行搜索的代码:

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);

    }
}
公共类AddressSearchListener实现了SKSearchListener{
//要搜索的当前列表级别
私有字符串mapPackageName;
私有地址搜索片段地址搜索片段;
公共地址searchlistener(){
Log.d(“AddressSearchListener”、“begin”);
this.mapPackageName=“DE”;
}
public void setFragment(AddressSearchFragment AddressSearchFragment){
this.addressSearchFragment=addressSearchFragment;
}
public void startSearch(长parentId,SKSearchManager.SKListLevel searchLevel,字符串s){
Log.d(“AddressSearchListener”,“startSearch开始”);
//获取搜索管理器对象
SKSearchManager mgr=新的SKSearchManager(本);
//获取多步骤搜索对象
SKMULTISTEPSARCHSETTINGS searchSettings=新SKMULTISTEPSARCHSETTINGS();
searchSettings.setSearchLanguage(SKMaps.SKLanguage.LANGUAGE_DE);
//设置要搜索的脱机包
//在这种情况下,需要安装France软件包
searchSettings.setOfflinePackageCode(mapPackageName);
//设置搜索的列表级别
searchSettings.setListLevel(searchLevel);
//设置要接收的最大结果数
searchSettings.setMaxSearchResultsNumber(20);
//设置要搜索的父级的id
searchSettings.setParentIndex(parentId);
//为结果设置一个过滤器
searchSettings.setSearchTerm;
//启动搜索
Log.d(“AddressSearchListener”,“startSearch时间”+System.currentTimeMillis());
经理多步骤搜索(搜索设置);
}
@凌驾
接收到的搜索结果(列出搜索结果)上的公共无效{
d(getClass().getName(),“onReceivedSearchResults begin”);
Log.d(“AddressSearchListener”、“onReceivedSearchResults时间”+System.currentTimeMillis());
List addressSearchResults=新建ArrayList();
用于(SKSearchResult SKSearchResult:skSearchResults){
Log.d(“onReceivedSearchResults”,“result:+skSearchResult”);
AddressSearchResultMeta AddressSearchResultMeta=新地址SearchResultMeta(skSearchResult);
addressSearchResults.add(addressSearchResultMeta);
}
addressSearchFragment.passResults(addressSearchResults);
}
}

这个问题只是Skobbler SDK中的一个bug。它在2.5.1版中已修复。

该问题只是Skobbler SDK中的一个bug。它在版本2.5.1中已修复。

我们已将此问题传递给要求支持的开发人员。开发人员是否已经给出了答案?它在列表中,但尚未给出答案-抱歉延迟这是我们方面的一个错误,已修复,将在下一次SDK更新中提供。嗨,SylviA,您现在可以估计下一个SDK更新何时可用吗?我们已经将此问题传递给了要求支持的开发人员。开发人员是否已经给出了答案?它在列表中,但尚未给出答案-抱歉延迟这是我们方面的一个错误,已修复,将在下一个SDK更新中可用。嗨,SylviA,您现在可以估计下一次SDK更新何时可用吗?