HERE Maps TextAutoSuggestion提供BAD_REQUEST

时间:2017-07-20 07:12:38

标签: android here-api

@Override
public void onSearchTextChanged(String oldQuery, final String newQuery) {

    if (!oldQuery.equals("") && newQuery.equals("")) {
     m_searchView.clearSuggestions();
    } else {

     textAutoSuggestionRequest = new TextAutoSuggestionRequest(newQuery);

     textAutoSuggestionRequest.execute(new ResultListener < List < AutoSuggest >> () {

       @Override
       public void onCompleted(List < AutoSuggest > autoSuggests, ErrorCode error) {
        if (error == ErrorCode.NONE) {
         if (autoSuggests.size() > 0) {
          Toast.makeText(getActivity(), "kek", Toast.LENGTH_SHORT).show();
          //searchlist = autoSuggests;
          for (int i = 0; i < autoSuggests.size(); i++) {
           //                                        listItems.add(autoSuggests.get(i).getTitle());
           Toast.makeText(getActivity(), autoSuggests.get(i).getTitle(), Toast.LENGTH_SHORT).show();

          }
         } else {
          Toast.makeText(getActivity(), error.name(), Toast.LENGTH_SHORT).show(); // Displays as BAD_REQUEST
         }
        }
       });



     }

     //Log.d(TAG, "onSearchTextChanged()");
    }
    });
}

如上面的代码所示,它不会进入if(error == ErrorCode.NONE)块,因为错误是在Toast中看到的BAD_REQUEST。我尝试使用我的Wifi和移动数据以及不同的网络,但无济于事。有关如何解决错误的任何建议吗?

编辑:我也使用https://github.com/arimorty/floatingsearchview作为我的搜索栏,因此onSearchTextChanged的方法是从那里派生的。

1 个答案:

答案 0 :(得分:1)

看起来问题可能是您没有为请求设置位置上下文。您可以使用TextAutoSuggestionRequest#setSearchCenter(GeoCoordinate center)TextAutoSuggestionRequest#setMapViewport(GeoBoundingBox mapViewport)

执行此操作