クエリで構成するキーワードに問題があります。たとえば、1 つのクエリ (&keywod="sport doctor"|"medicine"|"sport"|"doctor") で "spord doctor" または "doctors" または "medicine" で検索するクエリを作成する必要があります。クエリは機能していませんが、これを正しく行う方法)。1 つのクエリで構成することはできません。ドキュメントには、1つのキーワードまたはフレーズによる検索の例が1つしかないため、それを行う方法はありますか? 最後に、さまざまな言語で「スポーツドクター」という長いクエリを実行したいと思います。
私は解決策を見つけました。ただし、アプリではなく、ブラウザーの URL バーで機能しています。パイプ「|」を使用しました クエリの OR ステートメントとして: https://maps.googleapis.com/maps/api/place/search/json?location=59.436347,24.752356&radius=34572.53586&keyword=spordiarst|sport&sensor=false&key=AIzaSyCEVB4rY2A_AEyJ5JeopxaGz4zqm47yLuY
しかし、次のようなものを入れると、アプリにエラーが発生します:
HttpUriRequest request = new HttpGet("https://maps.googleapis.com/maps/api/place/search/json?" +
"location=" + ((lat == 0 || lat == gpsLat) ? gpsLat : lat) + ","+ ((lon == 0 || lon == gpsLon) ? gpsLon : lon) +
"&radius=" + radius +
"&keyword=\"spordiarst\"|\"sport\"" +
"&types=establishment" +
"&sensor=false&" +
"key=" + GOOGLE_MAPS_KEY);
エラー: 原因: java.lang.IllegalArgumentException: インデックス 127 のクエリで無効な文字: https://maps.googleapis.com/maps/api/place/search/json?location=59.435330809999996,24.7727237&radius=1404.114013671875&keyword= " spordiarst"|"sport"&types=施設&センサー=false&key=ここに私の鍵があります
修正方法は?ご覧のとおり、スペースや特定の記号はありませんが、クラッシュします。パイプ「|」が原因で表示されるようです または二重引用符 \".