業界・業務から探す
導入目的・課題から探す
データ・AIについて学ぶ
News
Hakkyについて
ウェビナーコラム
◆トップ【AI・機械学習】
AI

執筆者:Handbook編集部

Google Map APIによる郵便番号から位置情報の取得

概要

本記事では Google Map API のサービスの一つである、Geocoding API を用いて郵便番号から住所などの位置情報を取得する方法をまとめた記事です。

Geocoding API とは

Geocoding API とは Google が Google Cloud で提供している Web 地図サービスである Google Maps Platform のサービスの一つです。Geocoding API を使用することで住所を緯度経度などの位置情報に変換することができます。

料金

  • リクエスト数に応じて課金されます。
  • 目安として、1,000 リクエストあたり$5 となっています。
  • なお、Google Maps Platform 共通で毎月$200 分の無料枠があり、無料枠を超えた分が請求されます。
  • また、1 日のリクエスト上限はありませんが、1 秒あたり 50 リクエスト以内の制限があります。
  • 参考

設定方法

API の有効化

API キーの取得

API キーの利用制限

  • API キーごとに利用可能な API サービスを制限することが可能です。
  • 他にも Google Maps Platform API は種類がありますが、今回必要な API は Geocoding API のみです。
  • 他の使用しない API は無効化しておきましょう。
  • 設定方法はCredentials ページから設定する API 名を選択します。
  • 下記のように API restrictions の項目で設定可能です。

使い方

リクエスト

API のリクエストは下記の形になっています。

https://maps.googleapis.com/maps/api/geocode/outputFormat?address=<post_code or address>&amp;parameters&amp;key=<YOUR_API_KEY>

OutputFormat

出力形式は以下の2種類が利用可能です。

  • json (推奨)
  • xml

address

  • 位置情報を検索する郵便番号などを指定します。
  • 郵便番号もしくは住所を入力することができます。
    • 1008111
    • 東京都千代田区千代田

parameters

  • オプションで住所を検索する言語などを指定することができます。
  • 複数のパラメーターを使用する場合は&amp;で区切ります。
  • 具体的なオプションは以下の公式ドキュメント参照してください。
  • 参考

key

上記の設定方法で取得した API キーを入力します。

レスポンス

  • json 形式の場合、以下のようにレスポンスが返されます。
{
   "results":[
      {
         "address_components":[
            {
               "long_name":"100-8111",
               "short_name":"100-8111",
               "types":[
                  "postal_code"
               ]
            },
            {
               "long_name":"1",
               "short_name":"1",
               "types":[
                  "political",
                  "sublocality",
                  "sublocality_level_4"
               ]
            },
            {
               "long_name":"千代田",
               "short_name":"千代田",
               "types":[
                  "political",
                  "sublocality",
                  "sublocality_level_2"
               ]
            },
            {
               "long_name":"千代田区",
               "short_name":"千代田区",
               "types":[
                  "locality",
                  "political"
               ]
            },
            {
               "long_name":"東京都",
               "short_name":"東京都",
               "types":[
                  "administrative_area_level_1",
                  "political"
               ]
            },
            {
               "long_name":"日本",
               "short_name":"JP",
               "types":[
                  "country",
                  "political"
               ]
            }
         ],
         "formatted_address":"日本 〒100-8111",
         "geometry":{
            "location":{
               "lat":35.6835978,
               "lng":139.7541838
            },
            "location_type":"ROOFTOP",
            "viewport":{
               "northeast":{
                  "lat":35.6849467802915,
                  "lng":139.7555327802915
               },
               "southwest":{
                  "lat":35.68224881970851,
                  "lng":139.7528348197085
               }
            }
         },
         "place_id":"ChIJaWqAGwuMGGARe50QFyCjp78",
         "types":[
            "postal_code"
         ]
      }
   ],
   "status":"OK"
}
  • 郵便番号から都道府県や緯度経度などの情報を取得することができます。

サンプル

Curl

curl https://maps.googleapis.com/maps/api/geocode/json?address=1000001&amp;language=ja&amp;components=country:JP&amp;key=<Your_API_Key>

Python

import requests
api_key = "Your API Key"
base_url = "https://maps.googleapis.com/maps/api/geocode/json?"
postal_code = 1000001
url = base_url + "address=" + str(postal_code) + "&amp;language=ja&amp;components=country:JP&amp;key=" + api_key
response = requests.get(url)
print(response.json())

まとめ

このように、Google Map API の Geocoding API を使用することによって郵便番号から緯度経度などの位置情報を取得することができます。

参考

2025年06月15日に最終更新
読み込み中...