2017-07-20 6 views
0
@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()"); 
    } 
    }); 
} 

をBAD_REQUEST与えトーストに見られるようなエラーがBAD_REQUESTあるので、もし(エラー== ErrorCode.NONE)ブロックにはなりません。私はWifiとモバイルデータを試してみましたが、別のネットワークで試してみましたが、無駄です。どのようにエラーを解決するための任意の提案?HERE地図TextAutoSuggestionが

編集:また、https://github.com/arimorty/floatingsearchviewを検索バーとして使用しています。そのため、onSearchTextChangedメソッドはそこから派生しています。

答えて

1

リクエストのロケーションコンテキストを設定していない可能性があります。 TextAutoSuggestionRequest#setSearchCenter(GeoCoordinate center)またはTextAutoSuggestionRequest#setMapViewport(GeoBoundingBox mapViewport)のいずれかを使用してこれを行うことができます。

+0

私は、非同期タスクの致命的な例外得続ける - java.lang.RuntimeException:doInBackgroundの実行中にエラーが発生しました()。私の場合、公式のドキュメンテーションのリンクの例のコードは役に立たないようです。私は部分的な文字列クエリを渡して、提案のリストを受け取りたいと思います。どのようにしてこの例を微調整するのですか? @AndrewJC – hfz