Google Mapsでエラーが出たらどうする

Oops! Something went wrong.

先日、Google Mapsで
Oops! Something went wrong.
というエラーが現れ、地図が正しく表示されなくなりました。
Google Mapsに代表されるGoogleのAPIは、コードを貼り付けるだけで手軽に利用できた時期を経て、認証情報(APIキー)の取得が必要になっています。ここ数年はその過渡期とあってAPIキーがなくても利用できましたが、最近になってAPIキーの必須化をはじめている様子です。
ここではAPIキーの取得と設定方法について説明します。

無料で使い続けられるのか、有料になるのか

APIキーが必要になるのは、APIのリクエスト数を管理することが目的であり、更には一定以上利用しているユーザーに課金するためです。
それぞれのAPIには無料で利用できるリクエスト数の上限が設けられています。この制限は、地図API・動画API・検索APIなど種類によって異なります。
リクエスト数が上限を超えた場合、課金の対象になりますが、即座に請求書が送られてくるようなことではありません。
課金の可否(支払いの意思)はこちらで切り替える必要があり、課金を拒否したまま上限を超えるとエラーが出る(特に2016年10月22日以降はこうなると記載されています)というのが基本姿勢です。

APIキーを取得する

Google Developers Consoleに登録・ログイン

APIを管理する開発者向けのコンソールGoogle Developers Consoleに移動します。
https://console.developers.google.com/?hl=JA
GoogleのIDでログインします。未取得の場合は登録(サインイン)してください。

プロジェクト作成

コンソールにログインし、まずプロジェクトを作成します。

右上の「プロジェクトを選択」から「プロジェクトの作成」をクリックします。
プロジェクト名を入力し、利用規約に同意して「作成」をクリックします。

認証情報(APIキー)を発行

次にAPIキーを発行します。

左側のタブで認証情報をクリックし、中央付近の「認証情報を作成」ボタンをクリックして、認証情報の種類が表示される小窓で「APIキー」をクリックします。
キーの種類が表示される小窓で「ブラウザキー」をクリックします。尚、サーバーキーはサーバーサイドスクリプト用、その他はそれぞれAndroid/iOSアプリ用です。
ブラウザキーの作成画面に移行するので、「このHTTPリファラー(ウェブサイト)からリクエストを受け入れる」の欄に、APIを使用するドメインを登録します。

ドメインは、例えば複数のサブドメインに割り当てるために
*.bizweb.jp
というようにアスタリスク(*)をワイルドカードとして利用できます。
ここでドメイン(リファラー=アクセス元)による制限を設けることで、第3者がAPIキーを不正に利用することを防げます。

APIを有効にする

最後に、登録したAPIキーを使用するAPIの種類を確定させ「有効化」します。
例えば、ドラッグできるタイプの地図であれば「Google Maps Javascript API」、静止画タイプの地図は「Google Static Maps API」を選択します。

左側の「概要」をクリックし、Googleが提供するAPIの中から、APIキーを有効にしたいAPIをクリックします。
「有効にする」ボタンをクリックします。

APIキーをセットする

左側の「認証情報」をクリックし、登録済みのブラウザキーの「キー」をコピーします。

Javascript版Google Mapsの場合

以下のようにJavascriptファイルを呼び出すscriptタグをAPIキー付きに変更します。
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=(true/false)"></script>

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=(APIキー)"></script>
ドメインもgoogle.comからgoogleapis.comに変わっているので、この機に変更しておきましょう。 

画像版(Static)Google Mapsの場合

以下のようにimgタグをAPIキー付きに変更します。
<img src="http://maps.google.com/maps/api/staticmap?sensor=&size=&center=&zoom=&markers=" />

<img src="https://maps.googleapis.com/maps/api/staticmap?key=(APIキー)&sensor=&size=&center=&zoom=&markers=" />
ドメインもgoogle.comからgoogleapis.comに変わっているので、この機に変更しておきましょう。 

その他の場合

Javasriptから各APIをダイナミックに呼び出す場合は、次のようにAPIキーを追記します。
 google.load("maps", "3", {
    "other_params": "sensor=false&key=(APIキー)",
} ); 

利用状況を確認する

コンソールでは、登録したAPIの利用数を確認できます。
エラーリクエスト数も表示されるので、デバッグ時にも便利です。

コンソールにログインし、左側が「概要」の状態で、中央付近の「有効なAPI」タブをクリックして、その下に展開されるリストからAPIを選択します。
選択したAPIのページに移行します。中央の上部のタブで、「使用量」と「割り当て」が確認できます。
2016/7/3