GoogleStatic Maps APIを使用しPythonで指定した場所のGoogleマップ画像を取得する

GoogleStatic Maps APIを使用しPythonで指定した場所のGoogleマップ画像を取得してみます。

GoogleStatic Maps APIを使用する場合は、事前にGoogle Maps Platform(グーグルマッププラットホーム)の登録しておく必要があります。

Google Maps Platform(グーグルマッププラットホーム)に登録後、「GoogleStatic Maps API」を有効にしておきます。その後、「認証情報を作成」で「APIキー」を事前に発行しておきます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■GoogleStatic Maps APIを使用し指定した場所のGoogleマップ画像を取得する

import requests 
#Maps Static API URL
BASE_URL = "https://maps.googleapis.com/maps/api/staticmap?"
#APIキー
API_KEY = "発行されたAPIキー"
#場所の指定
CITY = "Osaka"
#Googleマップのズームレベル
ZOOM = 14
# URLの更新
URL = BASE_URL + "center=" + CITY + "&zoom=" + str(ZOOM) + "&size=500x500&key=" + API_KEY
# HTTPリクエスト
response = requests.get(URL)
# HTTPリクエストに対して応答があった画像を保存する
with open('osakamap.png', 'wb') as file:
   #ファイルへのデータの書き込み
   file.write(response.content)

インポートでrequestsモジュールを呼び出して、BASE_URLという変数を作成し、Maps Static API URLを格納します。

格納後、API_KEYという変数を作成し、認証情報の作成を行い発行されたAPIキーを格納します。

格納後、CITYという変数を作成し、指定する場所を決めて格納します。これが今回のGoogleマップの中心として定義されます。今回は「Osaka(大阪)」を指定します。

指定する場所を決めたら、ZOOMという変数を作成し、Googleマップのズームレベルを指定し格納します。今回は「14」と指定します。

指定後、URLという変数を作成し、GoogleStatic Maps APIにリクエストするURLを格納します。

格納後、responseという変数を作成し、GoogleStatic Maps APIに対してリクエストを行います。

リクエストに対して応答があった情報をwith文を使い、open()で第1の引数に保存する場所と、ファイル名、形式を指定します。次に第2の引数でwbモードと指定し、バイナリファイルを書き込みモードで開きます。開いたファイルに対して、write()でリクエストに対して応答があった情報を書き込みし保存します。

■実行

今回のスクリプトを「g_map.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、カレントディレクトリ(作業ディレクトリ)に画像ファイルが保存されていることを確認できました。

画像ファイルの中身を確認すると、指定した場所のマップが表示できました。

コメント

タイトルとURLをコピーしました