Apple Map Snapshotを使ってみた

Apple Map Snapshotを使ってみた

OGP画像に動的な地図を埋め込みたくて、Apple Map Snapshotを試してみました。他のサービスとの比較、実装方法、カスタムピンやオーバーレイの使い方をまとめます。
2026.08.27

こんにちは。大山です。
URLごとに異なる座標の地図をOGP画像として表示したいと思い、Apple の Maps Web Snapshots を使ってみたので記事にします。

Maps Web Snapshotsとは

Maps Web Snapshotsは、Apple Mapsのサービス群の一つとして提供される、サーバー向けの静的地図画像HTTP APIです。
緯度経度やピン・図形などのパラメーターをURLクエリとして渡すと、リクエストごとに1枚のPNG/JPEG画像が返ってきます。サーバーサイドから叩いて画像として保存・配信できるので、OGP画像のように「動的な座標を埋め込んだ地図画像」を都度生成したい場面と相性が良いです。

利用にはApple Developer Programのアカウントが必要です。

他のSnapshotサービスと比較

静的地図画像を生成するAPIとしては、GoogleのMaps Static APIやMapboxのStatic Images APIなどがあります。3つを比較してみます(数値はいずれも2026年7月時点の各社公式ページを参照)。

Apple (Maps Web Snapshots) Google Maps Static API Mapbox Static Images API
無料枠 25,000リクエスト/日 10,000リクエスト/月(Essentials) 50,000リクエスト/月
超過分の料金 公開料金表がないため要Appleへの問い合わせ $2.00 / 1,000リクエスト(ボリュームディスカウントあり) $1.00 / 1,000リクエスト(ボリュームディスカウントあり)
必要な契約 Apple Developer Program($99/年、日本からの申込は¥15,800/年) Google Cloudアカウント Mapboxアカウント
画像サイズ上限 幅・高さとも50〜640px 640×640px 幅・高さとも1〜1280px(カスタムマーカーは1024pxまで)
カスタムピン
図形オーバーレイ

コスト面で見ると、Apple Developer Programに既に登録済みであれば、Apple Snapshotsは日次25,000リクエストの無料枠を追加の課金設定なしにすぐ使い始められます。一方、このAPIのためだけにApple Developer Programへ新規登録する場合は、年会費が発生する点は踏まえておく必要があります。
無料枠を超えるリクエストを送る場合は、公開料金表がないためAppleへの問い合わせが必要です。

地図生成パラメーター

静的地図画像を生成するための主なパラメーターは以下の通りです。

パラメーター デフォルト値 説明
token string 開発者用のマップトークン(JWT)。 APIリクエストの認証に必要となります。
center string 地図の中心点。 地図上にピンや図形を配置する場合は auto(自動調整)を指定することも可能です。緯度・経度をカンマで区切るか(例: 37.78,-122.42)、住所文字列(例: San Francisco City Hall...)で指定します。
z float 12 ズームレベル(3.0〜20.0)。center=auto が指定されている場合、または spn が指定されている場合は無視されます。
spn string 表示する地図の範囲。 中心点からの緯度・経度の差分を "緯度デルタ,経度デルタ" の正の数値で指定します(例: 0.05,0.05)。※z よりも優先されます。
size string 600x400 生成する画像のピクセルサイズ。 "幅x高さ" の形式で指定します。幅・高さともに 50640 の範囲で指定可能です。
scale int32 1 画像のピクセル密度(解像度倍率)。 123 から選択します。Retinaディスプレイなどの高解像度画面向けには 23 を指定します。
t string standard 地図のスタイル。 standard(標準マップ)、hybrid(ハイブリッド航空写真)、satellite(衛星写真)、mutedStandard(色味を抑えたクリーンな標準マップ)から選択できます。
colorScheme string light カラースキーム(ライトモード / ダークモード)。 light または dark を指定します。(※standardmutedStandard スタイルのみ適用可能)。
poi boolean 1 POI(店舗や観光地などのアイコン)の表示フラグ。 1 で表示、0 で非表示になります。
lang string en-US 地図上のラベル言語。 ロケールIDで指定します(例: 日本語表示にしたい場合は ja-JP)。
annotations Array 地図上に配置するピン(アノテーション)の配列。 Annotation オブジェクトのJSONをURLエンコードして渡します。
overlays Array 地図上に重ねて描画するルートや多角形(オーバーレイ)のオブジェクト配列。 JSONをURLエンコードして渡します。
imgs Array カスタムピン(アノテーション)として使用する画像データの配列。 JSONをURLエンコードして渡します。

annotations / overlays / imgs は配列を組み立てたうえで、URLエンコードしてクエリパラメーターとして渡す形式になります。

使ってみる

まずはシンプルに、中心座標だけを指定して地図画像を1枚取得してみます。

curl --get "https://snapshot.apple-mapkit.com/api/v1/snapshot" \
  --data-urlencode "center=35.681236,139.767125" \
  --data-urlencode "size=600x400" \
  --data-urlencode "t=standard" \
  --data-urlencode "colorScheme=light" \
  --data-urlencode "lang=ja-JP" \
  --data-urlencode "token=${APPLE_MAPS_JWT}" \
  --output map.png

この curl コマンドを実行すると、指定した座標を中心とする地図画像が map.png として保存されます。

map

ここに annotationsimgs パラメーターを追加すると、中心にピンを立てたり、独自のアイコン画像をピンとして表示することができます。

拡大率を変える

z パラメーターでズームレベルを指定すると、中心座標を基準にどの程度拡大して表示するかを調整できます。指定できる範囲は 3.020.0 で、値が大きいほど拡大されます。

--data-urlencode "z=16"

map1

z を大きくするほど建物一つひとつが分かる程度まで拡大できますが、その分表示される範囲は狭くなります。逆に小さくすると広いエリアを俯瞰できます。
なお center=auto を指定してピンや図形が収まるように自動調整させる場合や、spn で表示範囲を直接指定した場合は z の値は無視されます。

ピンをたてる

--data-urlencode 'annotations=[
  {
    "point":"35.681236,139.767125",
    "markerStyle":"balloon",
    "color":"black"
  }
]'

ピンの種類はmarkerStyleで変更でき、標準で用意されているものは以下の通りです。

dot balloon large
dot balloon large

カスタムピンを立てる

annotationsmarkerStyleimg にすることで、標準のピンではなく任意の画像をピンとして表示できます。

--data-urlencode 'annotations=[
    {
      "point":"35.681236,139.767125",
      "markerStyle":"img",
      "imgIdx": 0
    }
  ]' \
--data-urlencode 'imgs=[
    {
      "url":"https://example.com/assets/map-icon.png",
      "width":100,
      "height":100
    }
  ]' \

Snapshotsで取得した地図画像(カスタムピン指定)

オブジェクト(オーバーレイ)を描画する

overlays を使うと、円などの図形を地図上に重ねて描画できます。

--data-urlencode 'overlays=[
  {
    "type":"circle",
    "center":"35.681236,139.767125",
    "radius":300,
    "style":{
      "strokeColor":"0088ff",
      "strokeOpacity":1,
      "lineWidth":4,
      "fillColor":"0088ff",
      "fillOpacity":0.3
    }
  }
]'

map6

まとめ

実際に使ってみて、特に地図をインタラクティブに操作する必要はなく、座標に応じて動的に地図画像を表示したいOGPのような用途と相性が良いと思いました。

Apple Developer Programにすでに登録していれば追加の契約なしにすぐ使えますし、カスタムピンやオーバーレイで見た目も作り込めるので、選択肢の一つとして検討してみてください。

この記事をシェアする

関連記事