1

Google Maps Webサービスを使用して、サーバー側(逆)ジオコーディングを実行しています。

GoogleAPIコンソールからブラウザ側とサーバー側のGoogleAPIキーを取得しました。これにより、Google Maps JS APIがより高いリクエスト割り当てを使用できるようになり、超過分に対して従量課金制が可能になります( JS)。ただし、サーバー側のキーはWebサービス要求では機能しないようです。

たとえば、次のURLは正常に機能します: http://maps.googleapis.com/maps/api/geocode/json?sensor = true&latlng = 43.477329、
-80.548601

ただし、他のAPIと同様に、「key = ...」パラメータを追加すると、REQUEST_DENIEDステータスが取得されます。

私は何か間違ったことをしていますか、それともこれはWebサービスAPIで(まだ)サポートされていませんか?将来的にサポートされますか?

も参照してください

key=my_api_keyを含めるとrequest_denied

4

2 に答える 2

1

いいえ、あなたは何も悪いことをしていません。

残念ながら、「サーバーサイドジオコーディング」とも呼ばれるGoogleジオコーディングAPIに厳しい制限を適用することは、Googleの設計です。アプリで1日あたり2,500を超えるサーバー側地理コードが必要な場合は、Google Maps APIforBusiness製品にアップグレードする必要があります。

ちょっと待って、悪化します。

アプリのサーバーIPアドレスが他のアプリと共有されている場合、その2,500リクエストの1日あたりの制限がすべてのアプリに適用されます。これには、あなたと同じサーバーIPアドレスを共有しているが、あなたに属していないアプリが含まれます。 これは、GoogleAppEngineやHerokuなどのPaaSでよくある状況です。そのため、アプリが今日問題なく動作する場合でも、明日も動作するという保証はありません。

記事「ジオコーディング戦略」で、Googleは、 Google Maps JavaScriptAPIV3の一部であるジオコーディングサービスを介して「ほとんど常に」「クライアント側ジオコーディング」を使用することが解決策であることを示しています。主な理由は、ユーザーごと、セッションごとに制限が適用されることです。このようなリクエストは、クライアントでジオコードバッチを実行している場合を除いて、割り当て制限に達しないようにする必要があります(通常のユースケースではありません)。

「ジオコーディング戦略」の記事からの1つの黄金のナゲット:ユーザー入力を受け取り、クライアント側のGeocodeサービスメソッドを呼び出し、その情報をサーバーアプリに渡して処理し、できればキャッシュできるページを設計します。これは理想からは程遠いですが、Google Maps API for Businessにアップグレードするオプションがない場合は、それが唯一の方法である可能性があります。

幸運を!

于 2013-06-04T00:36:59.030 に答える
0

この投稿によると、APIキーは、1日あたり25,000回を超える読み込みのリクエストに対する3つのオプションの1つとして機能するはずです。

https://developers.google.com/maps/faq#usagelimits

于 2012-03-30T19:22:06.207 に答える