国土地理院のサイトで出来たんですが、見慣れた Google Map の画像にしたい。でも、緯度経度を決めてのスクショは厳しい。
ということで、Maps Static API を使用して画像ファイルを取得してみました。
Google Colab がお手軽なので Python にしましたが、別の言語でも良いと思います。
Maps Static API で地図の画像を保存
API キーの取得と、Maps Static API を許可する説明は省略します。
コードは以下のようにしました。
import requests
# 自分のAPIキーに置き換える
api_key = "自分のAPIキー"
def save_map_image(api_key, filename, locations, maptype, zoom, width, height):
base_url = "https://maps.googleapis.com/maps/api/staticmap?"
api_key_param = f"key={api_key}"
maptype_param = f"maptype={maptype}"
zoom_param = f"zoom={zoom}"
size_param = f"size={width}x{height}"
markers = "&".join([f"markers=size:small%7C{loc}" for loc in locations])
request_url = base_url + "&".join([
api_key_param,
maptype_param,
zoom_param,
size_param,
markers,
"scale=2",
"language=ja_JP",
])
response = requests.get(request_url)
if response.status_code == 200:
with open(filename, "wb") as f:
f.write(response.content)
else:
raise Exception(f"Error: {response.status_code} - {response.text}")
save_map_image(
api_key,
"test.png",
["36.103993,140.084481", "36.105103,140.085855"],
"roadmap",
17,
256,
256
)
保存できたファイルは次の通りです。
zoom の値を何度か調整して、経度と緯度の位置がマーカーで分かるようにしました。
少し面倒ですが、トリミングすれば良いかなと。
国土地理院のサイトで地図の画像を保存
参考までに国土地理院のサイトを使った場合です。
ツールバーの「共有」から、山っぽいアイコンを選びます。
「範囲を固定」を選択すると、緯度経度を指定できます。
「OK」で進めていくと、画像ファイルに保存できます。
コメント