3

Google Places APIを使用して、現在の場所周辺のすべての POI (関心のある場所) を取得しています。問題なく動作しますが、半径の値が何であれ、常に同じ数の結果が得られることに気付きました (~ 20 )。その結果、大きすぎる半径を指定すると、必ずしも最も近いPOIs が得られるとは限りません。半径の量を十分に小さくすると、それらの最も近い場所を再度取得します (実験から、100 メートルが適切な値であることに気付きました) が、つまり、100 メートルを超える POI は取得されません。私が欲しいものではありません。

私の質問は、特定の半径内にあるすべての POI (制限なし)を取得できる方法はありますか?

ありがとうございました!

4

3 に答える 3

3

Google Places API は、設計上常に 20 の結果を返し、リクエストで定義した条件に最も適合する 20 の結果を選択します。開発者ガイド/ドキュメントは、私が見たどこでもその番号を明示的に引用していません. Google の Developer Advocate である Paul Saxman と Google の Places API のテクニカル リードである Marcelo Camelo が提供するAutocomplete Demo & Places API Demo & Discussion Videoを見て、制限について知りました。

ビデオ全体は一見の価値がありますが、あなたの質問により具体的に言えば、再生タイマーを約 11:50 に設定すると、Marcelo Camelo が Autocomplete ツールと一般的な Places API を比較しています。 20結果制限。彼は、標準的な結果数として 20 を数回挙げています。

YouTube には、その地域にリンクされた Places API や Google マップの優れたビデオが他にも多数あります。

于 2012-05-18T03:14:19.260 に答える
2

ここの Google Places Issue Tracker で言及されているように: http://code.google.com/p/gmaps-api-issues/issues/detail?id=3425

データ プロバイダー ライセンスにより、アプリが一度に表示できる場所の結果は 20 までに制限されています。したがって、現時点ではこの上限を引き上げることはできません。

ただし、指定された場所に最も近い結果を返そうとしているように聞こえますが、これは、リクエストで「radius」の代わりに「rankby=distance」パラメーターを使用することで可能になりました。

例えば

https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&rankby=distance&types=food&name=harbour&sensor=false&key=YOUR_API_KEY

于 2012-05-21T03:20:31.217 に答える
0

google.maps.places.RankBy.DISTANCE;デフォルトのままにしてみるgoogle.maps.places.RankBy.PROMINENCE;

これの簡単な例をここに示します

(クロームのみ)

于 2012-05-23T11:49:35.820 に答える