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」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、カレントディレクトリ(作業ディレクトリ)に画像ファイルが保存されていることを確認できました。
画像ファイルの中身を確認すると、指定した場所のマップが表示できました。
コメント