2017-01-27 5 views
0

こんにちは、私はGoogle place APIを使用して近くの場所を表示している小さなアンドロイドアプリケーションを開発しています。次のリクエストで試してみました:Googleの場所を使用して近くの場所をフィルタリングして距離を取得するapi

https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankBy=distance&radius=5000&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school 

上記のリクエストは近くの学校を返しますが、距離のソートはされていません。私は別の要求を試してみました:リクエストの上

https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankby=distance&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school 

私に距離ソート結果を与えるが、私は、その場合にはradius PARAMTERを使用することはできません。

また、私はどちらのリクエストでもチャレンジャーに直面しています。最初のリクエストでは、それは私に5Km以内にいくつかの学校を返す。 2番目のリクエストでは、近くの学校に戻ります。私が両方の結果を確認すると、近くの学校の一部が、パラメタとして半径を持つリクエストに存在しません。

私の予想される出力には、距離が5km以内の近くの学校が必要です。上記のリクエストに何か間違っていますか?助けが要る。ありがとうございました。

+0

[AndroidでGoogle Maps APIを使用して現在地と付近の場所とルートを表示](http://stackoverflow.com/questions/8428209/show-current-location-and-nearby-places- 2つの場所を使用してgooglを使用してルートする) – Chisko

答えて

1

ドキュメントはrankby及び半径パラメータに関する非常に明確である:

半径 - プレイス結果を返すために、その中(メートル)の距離を定義します。最大許容半径は50,000メートルです。 rankby = distance(下記のオプションパラメータで説明)が指定されている場合、の半径は含まれていないことに注意してください。

rankby - 結果が表示される順序を指定します。 ランクは、の半径(上記の必須パラメータに記載されています)が指定されている場合は含めないでください。

https://developers.google.com/places/web-service/search#PlaceSearchRequests

のでrankby=distanceと一緒にradiusパラメータを使用する方法はありません。

例では、最初のリクエストではrankBy(大文字と小文字が区別されます)が無視されるため、半径5 km以内で顕著な結果が得られます。それほど顕著ではありませんが、この場合は近い結果が省略されることがあります。

距離による並べ替え結果が得られ、locationと場所座標の距離が5000メートルを超える場所がすべて除外される可能性があります。

関連する問題