Google Map PlaceServiceのgetDetails()が思うように結果を返してくれないとき
グーグルマップAPIで、お店とか施設の情報を取得できるPlacesServiceというものがあります
以下のようなコードで、複数の施設情報を一気に取得しようとしたんですが、なぜか中途半端な結果しか返してきません
for (var i = 0; i < markers.length; i++) {
var service = new google.maps.places.PlacesService(Map);
service.getDetails({
placeId: "<詳細を知りたいPlace idを指定>",
fields: ['name', 'geometry']
}, function (place, status) {
console.log("result()" + status);
});
}
ログを確認してみると「OVER_QUERY_LIMIT」というエラーが出てました
調べてみると、どうやら1秒あたりに呼び出せるAPIの回数にも制限があって、それが50回とのことです
確かにデータ数的には70個以上あったので、まさにその制限に引っかかったらしいです
ただ、厄介なことにgetDetails()は一度に一個の場所しかリクエストできません
そんな制限つけるぐらいなら複数のplace_idを指定して、その結果を一気に返してくれれば良いのに。。。
しょうがないので、getDetails()はその地点をクリックしたときのイベント内で取得するように変更しました
ただし、クリックしてからAPIを叩くから、あらかじめ取得しておくのに比べて多少ロスが出ますが致し方ありません
ディスカッション
コメント一覧
まだ、コメントがありません
新たにPostされたDocs
: ツール関連
キーボードを銀軸から赤軸に買い替えた話
約3年半前、仕事で使うキーボードとしてARCHISS ProgresTouchの ...: スマホ
楽天モバイルがおすすめできない人の特徴とは?
楽天モバイルの最強プランをおすすめできない人の特徴を簡単にまとめてみました また ...: システム開発
なぜスクラムがつらいのか?開発現場が疲弊するのか?スクラムに対する違和感と共に原因を考えてみた
今ではどこの開発現場に行っても、やれスクラムスクラムと、まるでスクラムでもやって ...: Laravel
1つのテーブルを複数のテーブルと結合したい【Laravel10】
1つのテーブルを2つの異なるテーブルに対して結合したいケースがあったのでLara ...: Laravel
Laravelで複数画像アップロード時のvalidateを指定【Laravel10】
jQuery - Image Uploaderを使って、フォームから複数の画像を ...HashMap
created_by
はやぴ
Web/アプリ開発エンジニア
Sierにてお堅いB向けのソフトウェア開発を経て、現在はC向けのWebやアプリを中心に開発しています。
Utilities