満足への果てしない旅
2015/12/02
IT 仕事超えては行けない一線を超えてしまう。
社内システムで本格的に地図を実装しようと試みている。
今後、スマホだけで地図上から各契約の情報にアクセスし、契約毎で撮影を始め現場ごとの管理ができるようにするロードマップの第一歩。
Google Maps API for Workにて対応を考えているので、地図表示のためGoogle Maps Geocoding APIで住所情報を緯度経度に変換するべく、Google Maps Geocoding Example with PHPを参考にしつつ実装。
だが、地図表示の際、進捗中の契約を50個ぐらい突っ込むと、1割程度が返却されない。
どうやら、5リクエスト/秒という制限に引っかかっている模様。
「各種ジオコーディングapiの罠と対処法」を参考に、リアルタイムに住所情報から緯度経度情報への変換はナンセンスで、住所情報を事前に緯度経度に変換しキャッシュするのが好ましいと判断しました。
それじゃーということで、契約情報を5個ぐらいずつ、Google Maps Geocoding APIに突っ込もうと実行すると、SQL文を間違えて、2000個ぐらい突っ込み続ける結果となってしまう。
やはり制限に引っかかったのか、4割ぐらいしか返ってきてない結果に。
いかんいかんと、残りの1200個を今度こそ5個ぐらいずつ突っ込んでみたら、またもやSQL文を間違えて、1200個一気に突っ込んでしまう。
結果、「OVER_QUERY_LIMIT」の結果しか返ってこなくなりました…。
「Usage Limits for Google Maps API Web Services」を参考にすると太平洋時間の24:00にリセットされるとのこと。
その後、太平洋時間の24:00を迎えましたが、「OVER_QUERY_LIMIT」のまま。
しまいには、会社のホームページに使っているGoogle Feed APIがfeedを返さなくなる始末。
サーバのIPがきっちりと制限対象になってしまっている模様で、一つのAPIで制限になると、全部に波及してしまっている模様。
いつ解除されるのか首を長くして待っている状態ですが、それまで会社のホームページは、ブログの最新記事や、ブログ画像などが表示されません。
ちゃんと解除…されるよなぁ…これ…。