以上で完了です。

開発を始めるには、デベロッパー ドキュメント をご覧下さい。

Google Maps Geocoding API をアクティベートする

まず初めに Google Developers Console で次の作業を行います。

  1. プロジェクトを作成または選択する
  2. Google Maps Geocoding API をアクティベートする
  3. 適切なキーを作成する
続ける

新しいフォワード ジオコーダのよくある質問

以下のよくある質問は、「Google Maps APIs の住所のジオコーディング」というブログ投稿で発表された新しいフォワード ジオコーダに固有の内容です。住所をジオコーディングするときのベスト プラクティスもご覧ください。

すべての Google Maps APIs に共通する質問については、Google Maps APIs のよくある質問を参照してください。

スタートガイド

トラブルシューティング

スタートガイド

新しいフォワード ジオコーダはいつデフォルトになりますか。
  • ジオコーディング サービスに Google Maps Geocoding API リクエストおよび Google Maps JavaScript API リクエストを送信する場合、現在、新しいフォワード ジオコーダは、識別できないリクエストと標準プランのユーザーに対してデフォルトになっています。これらの API を使用している Premium Plan のユーザーに対しては、2017 年 1 月 17 日にジオコーダの変更が予定されています。
  • Google Maps Directions API、Google Maps Distance Matrix API、Google Static Maps API、および Google Street View Image API を使用しているすべてのユーザー(標準プランと Premium Plan)と、ルートおよび距離マトリックス サービスへの Google Maps JavaScript API リクエストに対しては、2017 年 1 月 24 日に新しいフォワード ジオコーダがデフォルトになる予定です。
  • 古いジオコーダは、2017 年 3 月の終わりまでに永続的に廃止されます。

同じ時期に予期しない問題が発生したり、その他の機能がリリースされる場合は、これらの日付が延期される可能性があります。新しいジオコーダがリリースされる前に、システムに変更を加える場合は、これらの日付の前に変更内容を本番環境を反映する必要があります。

どの API が新しいフォワード ジオコーダを使用しますか。

次の Google Maps APIs は同ジオコーダを使用して、次のリクエストを発行します。

  • Google Maps Geocoding API リクエスト: addresscomponents パラメータのいずれか、または両方のパラメータを使用します。
  • Google Maps Directions API リクエスト: origindestinationwaypoints パラメータのいずれか、またはこれらのすべてのパラメータに人間が読むことができる住所を指定します。
  • Google Maps Distance Matrix API リクエスト: originsdestinations パラメータのいずれか、または両方のパラメータに人間が読むことができる住所を指定します。
  • Google Maps JavaScript API リクエスト: ジオコーディングルート、および距離マトリックス サービスへのリクエストです。ウェブサービス パラメータと同等のフィールドに人間が読むことができる住所を指定します。
  • Google Static Maps API リクエスト: centermarkersvisiblepath パラメータのいずれか、またはこれらのすべてのパラメータに人間が読むことができる住所を指定します。
  • Google Street View Image API画像メタデータを含む)リクエスト: location パラメータに人間が読むことができる住所を指定します。

注: プレイス ID の詳細を取得する場合、新しいフォワード ジオコーダは使用されません。

新しいフォワード ジオコーダがデフォルトになる前に、その使用方法を教えてください。

現在、新しいフォワード ジオコーダは、Geocoding API、Directions API、および Distance Matrix API で、あるいは Maps JavaScript API で利用可能なジオコーディングルート、および距離マトリックス サービスで使用できます。

Geocoding API、Directions API、および Distance Matrix API の場合は、オプションの new_forward_geocoder=true パラメータをリクエストに追加します。

Google Maps APIs ウェブサービスのクライアント ライブラリの場合、新しいフォワード ジオコーダを使用するには、new_forward_geocoder=true をリクエストに追加します。これは、クライアント ライブラリに最近追加されたカスタム URL パラメータです。

Maps JavaScript API で利用可能なジオコーディングルート、および距離マトリックス サービスでは、新しいオプション パラメータ newForwardGeocoder: true を適切なリクエスト オブジェクトに設定します。このパラメータは、試験運用版とリリース版で使用できます。

アップデートされた Google Maps API Geocoder Tool には、オプションの設定が含まれています。このツールを使用する場合、新しいフォワード ジオコーダ機能に基づいて結果を生成するには、[Use the new forward geocoder] を選択します。

注: Static Maps API と Street View Image API では、新しいフォワード ジオコーダはまだ使用できません。

デフォルトではなくなった古いフォワード ジオコーダは、どのようにすれば使用できますか。

古いフォワード ジオコーダは、2017 年 3 月 29 日に永続的に廃止されるまで使用を継続できます。

Geocoding API、Directions API、および Distance Matrix API の場合は、オプションの new_forward_geocoder=false パラメータをリクエストに追加します。

Google Maps APIs ウェブサービスのクライアント ライブラリの場合、古いフォワード ジオコーダを使用するには、new_forward_geocoder=false をリクエストに追加します。これは、クライアント ライブラリに最近追加されたカスタム URL パラメータです。

Maps JavaScript API で利用可能なジオコーディングルート、および距離マトリックス サービスでは、新しいオプション パラメータ newForwardGeocoder: false を適切なリクエスト オブジェクトに設定します。このパラメータは、試験運用版とリリース版で使用できます。

注: Static Maps API と Street View Image API の場合、新しいフォワード ジオコーダはまだ使用できないため、このオプションを false に設定する必要はありません。Static Maps API と Street View Image API では、現在、古いフォワード ジオコーダを継続して使用できます。

なぜジオコーダが変更されるのですか。

新しいフォワード ジオコーダは、ユーザーの Google マップ アプリケーションで使用されるジオコーダと同じです。古いジオコーダのサポートは終了し、廃止される予定です。

新しいジオコーダには下位互換性がありますか。

あります。Geocoding API は同じリクエストとレスポンス形式を保持します。新しいジオコーダは多くのクエリに対して異なる結果セットを生成する場合がありますが、リクエストは現在の形式で引き続き機能し、新しい結果は同じフィールドを返します。

トラブルシューティング

新しいジオコーダを使用すると、ZERO_RESULTS を返すクエリが増えました。何が起こっているのですか。

新しいジオコーダでは、あいまいで不完全なクエリや、書式が不適切なクエリを使用すると ZERO_RESULTS が生成される可能性が高くなります。通常、古いジオコーダでは、こうしたクエリを使用すると、住所が見つからない場合に郊外を返すなど、正しくない結果を生成します。Google では、こうした状況では ZERO_RESULTS を返す方がより適切なレスポンスであると考えています。

ユーザーが入力した住所をアプリケーションで処理する場合、Places API のプレイス オートコンプリート機能によって、生成される結果の精度が上がる場合があります。プレイス オートコンプリート機能を使用すると、ユーザーは入力内容に基づく一連の結果から選択をすることができます。つまり、ユーザーは同じような名前の結果から目的の結果を選択したり、住所のスペルを間違ったときにクエリを修正したりできます。

一連のオートコンプリートの候補から選択するユーザーが存在せず、自動システムによってアプリケーションに入力される場合、およびアプリケーションであいまいなクエリ、不完全なクエリ、または店名やサービス名などの住所以外のコンポーネントが含まれるクエリを処理する可能性がある場合は、Places API のテキスト検索を使用することをお勧めします。これらのタイプのクエリには Geocoding API で想定していない店名やサービス名が含まれる可能性がありますが、テキスト検索を使用すると、あいまいなクエリに対しても結果を返す可能性が高くなります。

アプリケーションであいまいなクエリ、不完全なクエリ、住所以外のコンポーネントが含まれている可能性があるクエリを処理する場合は、Geocoding API で利用可能なフォワード ジオコーダではなく、Places API を使用することをお勧めします。詳細については、住所をジオコーディングするときのベスト プラクティスブログ投稿「Google Maps APIs の住所のジオコーディング」をご覧ください。

高速なレスポンスが必要です。アプリケーションで新しいジオコーダの動作が遅すぎます。何を使用すれば、レスポンスが速くなりますか。

ユーザー入力に応答するためレイテンシの影響を受けやすいアプリケーションでは、住所のジオコーディングではなく、Places API のプレイス オートコンプリート機能JavaScriptAndroid、または iOS でも利用可能)を使用することを強くお勧めします。プレイス オートコンプリートはインタラクティブな使用を想定して最適化されているため、レイテンシを大幅に短縮できます。

Geocoding API の住所のジオコーディングは、オンライン フォームに入力された配達先住所など、適切な書式を持つ完全で明確な住所に対して使用されるように最適化されているため、プレイス オートコンプリートよりもレイテンシが高くなります。これは古いフォワード ジオコーダにも当てはまります。新しいフォワード ジオコーダは、精度の高い結果を生成するためにより広範な住所に対応しているため、レイテンシが高く、プレイス オートコンプリートとのレイテンシの差はさらに広がっています。

Directions API と Distance Matrix API のレイテンシを短縮する方法を教えてください。

住所ではなく、プレイス ID を使用して、ウェイポイント、出発地、および目的地を指定してください。プレイス ID は、Places API のプレイス オートコンプリート機能または Maps JavaScript API のプレイス ライブラリから適切に取得できます。placeIdOnly オプションに関する情報もご覧ください。このオプションを使用すると、プレイス オートコンプリートのコストを削減することができます。

Directions API または Distance Matrix API で、プレイス ID や latlng ではなく、住所文字列を照会する場合、これらの API は Geocoding API と同じバックエンドを使用して、ルートを計算する前に、その住所をプレイス ID に変換します。プレイス オートコンプリートは住所のジオコーディングよりも高速です。ユーザー入力に応答する場合など、レイテンシの影響を受けやすい状況で Directions API または Distance Matrix API を使用するアプリケーションでは、プレイス オートコンプリートを使用して、住所に対応するプレイス ID を取得し、プレイス ID を Directions API または Distance Matrix API に渡すことをお勧めします。このアプローチを採用すると、古い住所ジオコーダと比べても、レイテンシを大幅に短縮できます。プレイス オートコンプリートの使用例のドキュメントをご覧ください。

プレミアム プランを使用していますが、Places API のコストは高すぎます。どのようにすればコストを抑えられますか。

Maps JavaScript API プレイス オートコンプリート ウィジェットを使用することをお勧めします。オートコンプリート ウィジェットの使用コストを削減するには、新しい placeIdOnly オプションを使用して、プレイス オートコンプリート サービスからプレイス ID に直接アクセスできるようにします。placeIdOnly オプションは、お店やサービスに関するすべての詳細情報は不要で、住所のみを必要とするアプリケーションに対して、プレイス詳細リクエストをスキップします。対応する住所を取得するには、プレイス ID をジオコーディング サービスまたは Geocoding API に渡します。また、住所のテキスト文字列または latitude と longiture のペアの代わりに、プレイス ID をルート、距離マトリックス サービス、Directions API、または Distance Matrix API に渡すことができます。

アップデートされた Google Maps API Geocoder Toolプレイス オートコンプリートとルートのサンプルでは、新しい placeIdOnly オプションの使用方法が説明されています。

新しいジオコーダのバグを報告する方法を教えてください。

新しいフォワード ジオコーダ サービスに関するバグレポートまたは機能のリクエストがある場合は、公開されている Issue Tracker からご報告ください。

私のユースケースでは、新しいジオコーダが適切な結果を生成しません。どのようなサポートが利用できますか。

公開されている Issue Tracker を使用して、新しいジオコーダで不適切な結果を生成する具体的なクエリをいくつか共有してください。Google は、不適切な結果の原因となるバグやシステムの問題があるかどうか、またはデベロッパーの皆さんがより精度の高い結果を得られるようにするために、ベスト プラクティスのガイドで改善すべき点があるかどうかを調査します。

新しいジオコーダのコンポーネント フィルタリングが、古いジオコーダの場合と同じように動作しません。新しいジオコーダのコンポーネント フィルタリングを使用する場合、どのようにすれば最適な結果を得ることができますか。

新しいジオコーダのコンポーネント フィルタリングは、住所レベルの結果に対してのみ完全にサポートされています。地区以上のレベルの結果に対しては、国コード(たとえば、components=country:GB)および郵便番号の制限が部分的にサポートされています。以下の例は、必要とする結果に応じて、コンポーネント フィルタリングを最適に使用する方法を示しています。サンプルのリクエスト URL では、"YOUR_API_KEY" を実際の API キーに置き替える必要があります。

  • 住所(建物、街路、道路を含む)を行政区画(国や地区など)に制限するには、古いジオコーダの場合と同じようにコンポーネント フィルタリングを使用します。この使用方法は、新しいジオコーダでもサポートされています。たとえば、address=gordon&components=locality:dublin は "Gordon Way, Dublin, OH 43017, USA" を返します。
    https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&address=gordon&components=locality:dublin&key=YOUR_API_KEY
    
  • 郵便番号を特定に国に制限するには、古いジオコーダの場合と同じようにコンポーネント フィルタリングを使用しますが、ISO 3166-2 の国コードを使用して、国の制限を指定する必要があります。この使用方法は、新しいジオコーダでもサポートされています。たとえば、components=country:CH|postal_code:2000 は "2000 Neuchâtel, Switzerland" を返します。
    https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&components=country:CH%7Cpostal_code:2000&key=YOUR_API_KEY
    
  • 住所以外のその他のクエリ(たとえば、都市や周辺地域)を特定に国に制限するには、古いジオコーダの場合と同じようにコンポーネント フィルタリングを使用しますが、ISO 3166-2 の国コードを使用して、国の制限を指定する必要があります。新しいジオコーダで、古いジオコーダと同じ結果が返されるとは限りません。目的の国に制限されたより精度の高い結果を取得するには、プレイス オートコンプリートを使用してください。

    例:

    • 古いジオコーダでは、components=country:US%7Clocality:paris をジオコーディングすると、米国内の "Paris" という名前の都市がいくつか返されます。
      https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=false&components=country:US%7Clocality:paris&key=YOUR_API_KEY
      
    • 新しいジオコーダでは、components=country:US%7Clocality:paris をジオコーディングすると、"Paris, TX, USA" が返されますが、米国内のその他の "Paris" という名前の都市は返されません。
      https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&components=country:US%7Clocality:paris&key=YOUR_API_KEY
      
    • input=paris&components=country:us&types=(regions) に対してプレイス オートコンプリートを使用し、さらに locationradius でビューポートを指定して場所の検索結果にバイアスをかけると、米国内の "Paris" という名前の都市が複数返されます。
      https://maps.googleapis.com/maps/api/place/autocomplete/json?location=37.386052,-122.083851&radius=10000&input=paris&components=country:us&types=(regions)&key=YOUR_API_KEY
      
  • 住所以外のその他のクエリ(たとえば、都市や周辺地域)を、特定の国ではなく、特定の地域に制限する場合は、新しいジオコーダでコンポーネント フィルタリングを使用しても、古いジオコーダと同じ結果が返されるとは限りません。特定の地域(locationradius)を優先したより精度の高い結果を得るには、プレイス オートコンプリートを使用します。新しい strictbounds パラメータを使用して、結果を特定の地域に制限することもできます。

    例:

    • 古いジオコーダでは、administrative_area:Anaga|locality:Santa+Cruz をジオコーディングすると、地区の Santa Cruz de Tenerife と行政区画の Anaga が返されます。
      https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=false&components=administrative_area:Anaga%7Clocality:Santa%20Cruz&key=YOUR_API_KEY
      
    • 新しいジオコーダでは、administrative_area:Anaga|locality:Santa+Cruz をジオコーディングすると、行政区画の Anaga のみが返され、目的の地区である Santa Cruz de Tenerife は返されません。
      https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&components=administrative_area:Anaga%7Clocality:Santa%20Cruz&key=YOUR_API_KEY
      
    • input=santa+cruz&location=28.494168,-16.275751&radius=20000&types=geocode に対してプレイス オートコンプリートを使用すると、最初に "Santa Cruz de Tenerife, Spain"、そして "Santa Cruz de La Palma"(別の島にある)や "Santa Cruz, CA, United States" などの都市が返されます。
      https://maps.googleapis.com/maps/api/place/autocomplete/json?input=santa+cruz&location=28.494168,-16.275751&radius=20000&types=geocode&key=YOUR_API_KEY
      
    • 返される結果を指定地域("Anaga")に制限するには、上記のプレイス オートコンプリート リクエストに strictbounds を追加します。
      https://maps.googleapis.com/maps/api/place/autocomplete/json?input=santa+cruz&location=28.494168,-16.275751&radius=20000&types=geocode&strictbounds&key=YOUR_API_KEY
      

フィードバックを送信...

Google Maps Geocoding API
Google Maps Geocoding API
ご不明な点がありましたら、Google のサポートページをご覧ください。