Apple MapsのURLが統一!「Unified Maps URLs」の仕組みと使い方

Apple MapsのURLが統一!「Unified Maps URLs」の仕組みと使い方

Clock Icon2025.03.03

Appleは、iOS 18.4、macOS 15.4、watchOS 11.4以降で、すべてのデバイスで同じ機能を提供するURLコレクションを導入する。

以前からApple MapsのURLスキームは存在していたが、今回Appleは、iOS 18.4、macOS 15.4、watchOS 11.4以降で、Apple MapsのURL構造を「Unified Maps URLs」として統一した形だ。

これまで Apple Maps の URL スキームは一貫性に欠ける部分があり、iOS、macOS、watchOS で挙動が異なることがあった。しかし、「Unified Maps URLs」により、すべての Apple デバイスで統一された URL スキームが利用可能になり、開発者はプラットフォームごとの違いを意識せずに URL を生成できるようになった。

この新しいマップURLを活用すれば、特定の場所を表示したり、ルート検索をしたり、周辺のポイント・オブ・インタレスト(POI)を探したりと、さまざまな操作を簡単に実行できる。

本記事では、この新しいApple MapsのURLの使い方を詳しく解説する。

検証環境

この記事で使用した環境は以下の通り。

  • macOS 15.3.1
  • Xcode 16.3 Beta (16E5104o)
  • iOS 18.4 beta1 シミュレータ
  • iOS 18.3.1 シミュレータ

地図の表示をカスタマイズする

Apple MapsのURLを使えば、特定の座標を中心にした地図を表示したり、地図の種類(標準・衛星・交通情報など)を変更したり、視点(向き・ズーム・傾き)を調整したりできる。 基本的なURLの構造は以下の通り。

https://maps.apple.com/frame?パラメータ

パラメータ一覧

パラメータ 説明
center 地図の中心座標(緯度,経度) center=40.753035,-73.981846
span 表示範囲(緯度,経度の範囲) span=0.05,0.05
mode 位置追跡モード mode=follow
heading 地図の向き(度数) heading=180
pitch 地図の傾き(度数) pitch=15
distance 視点からの距離(メートル) distance=10000
map 地図の種類(explore, driving, transit, satellite, hybrid) map=transit

使用例

// 皇居を中心に表示
https://maps.apple.com/frame?center=35.6844779,139.7512224

// 衛星写真モードで表示
https://maps.apple.com/frame?map=satellite&center=35.6844779,139.7512224

// 南向き(180°)、ピッチ15°、距離10kmで表示
https://maps.apple.com/frame?map=explore&center=35.6844779,139.7512224&heading=180&pitch=15&distance=10000

iOS シミュレータでの動作確認

これらのパラメータは、iOS 18.3.1 シミュレータでも使用できることを確認した。

皇居を中心 衛星写真モード 南向き(180°)、ピッチ15°、距離10km
iOS 18.3.1 20250301121415 20250301121142 20250301121315
iOS 18.4 beta1 iOS 18.3.1と同じ iOS 18.3.1と同じ iOS 18.3.1と同じ
iOSでの実装方法

指定した座標を中心にApple Mapsを開く。

import UIKit

func openMapAtCoordinate(latitude: Double, longitude: Double) {
    let urlString = "https://maps.apple.com/frame?center=\(latitude),\(longitude)"
    if let url = URL(string: urlString) {
        UIApplication.shared.open(url)
    }
}

// 皇居を表示
openMapAtCoordinate(
    latitude: 35.6844779, longitude: 139.7512224
)

特定の場所を検索する

Apple MapsのURLを使えば、特定の場所やカテゴリを検索できる。

例えば、「ピザ」と検索すれば、現在地周辺のピザ店を表示できる。また、center パラメータを指定することで、特定の地点を中心に検索できる。

https://maps.apple.com/search?query=検索ワード

パラメータ一覧

パラメータ 説明
query 検索ワード(POIや住所) query=pizza
center 検索の中心座標 center=51.507984,-0.128015
span 検索範囲(緯度,経度の範囲) span=0.05,0.05

使用例

// ピザを検索
https://maps.apple.com/search?query=pizza

// 寿司を検索
https://maps.apple.com/search?query=%E5%AF%BF%E5%8F%B8

// ロンドンのトラファルガー広場周辺で寿司を検索
https://maps.apple.com/search?query=%E5%AF%BF%E5%8F%B8&center=51.507984,-0.128015

iOS シミュレータでの動作確認

これらのパラメータは、iOS 18.3.1 シミュレータでも使用できることを確認した。

現在表示されている周辺で寿司を検索 トラファルガー広場周辺で寿司を検索
iOS 18.3.1 20250301121942 20250301121825
iOS 18.4 beta1 iOS 18.3.1と同じ iOS 18.3.1と同じ
iOSでの実装方法

Apple Mapsで特定のキーワードを検索する。

import UIKit

func searchInMaps(query: String) {
    let encodedQuery = query.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) ?? ""
    let urlString = "https://maps.apple.com/search?query=\(encodedQuery)"
    if let url = URL(string: urlString) {
        UIApplication.shared.open(url)
    }
}

// 「寿司」を検索
searchInMaps(query: "寿司")

特定の場所の詳細を表示する

Apple Mapsでは、特定の場所の詳細情報(プレイスカード)を表示できる。

coordinate(座標)や address(住所)、place-id(一意識別子)を指定することで、その場所の情報を直接開くことが可能だ。

https://maps.apple.com/place?パラメータ

パラメータ一覧

パラメータ 説明
coordinate 座標(緯度,経度) coordinate=40.779092,-73.962932
address 住所 address=1000%20Fifth%20Ave,%20NY,NY,10028
place-id POIの一意識別子 place-id=IF149E70A3B3C4CB2
map 地図の種類 map=explore

使用例

// 国立科学博物館の詳細を表示
https://maps.apple.com/place?coordinate=40.779092,-73.962932

// 東京都台東区上野公園7番20号の詳細を表示
https://maps.apple.com/place?address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E5%8F%B0%E6%9D%B1%E5%8C%BA%E4%B8%8A%E9%87%8E%E5%85%AC%E5%9C%927%E7%95%AA20%E5%8F%B7

iOS シミュレータでの動作確認

これらのパラメータは、iOS 18.3.1 シミュレータでも使用できることを確認した。ただし、住所を指定した時の挙動は iOS 18.3.1 と iOS 18.4 beta1 では差異が見受けられた。

国立科学博物館の詳細を表示 住所の詳細を表示
iOS 18.3.1 20250301122808 20250301122823
iOS 18.4 beta1 iOS 18.3.1と同じ iOS 18.3.1 と表示のされ方が異なる
iOSでの実装方法

座標または住所を指定して、プレイスカードを開く。

import UIKit

func openPlaceInMaps(latitude: Double, longitude: Double) {
    let urlString = "https://maps.apple.com/place?coordinate=\(latitude),\(longitude)"
    if let url = URL(string: urlString) {
        UIApplication.shared.open(url)
    }
}

// 国立科学博物館を表示
openPlaceInMaps(latitude: 35.716358, longitude: 139.776433)
import UIKit

func openPlaceByAddress(address: String) {
    let encodedAddress = address.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) ?? ""
    let urlString = "https://maps.apple.com/place?address=\(encodedAddress)"
    if let url = URL(string: urlString) {
        UIApplication.shared.open(url)
    }
}

// 東京都台東区上野公園7番20号の詳細を表示
openPlaceByAddress(address: "東京都台東区上野公園7番20号")

ストリートビュー(Look Around)を利用する

Apple Mapsの「Look Around」機能を使えば、ストリートビューのように街並みを360°で確認できる。
coordinate(座標)、address(住所)、place-id(一意識別子)を指定することで、 特定の場所のLook Aroundビューを開くことができる。

https://maps.apple.com/look-around?パラメータ

パラメータ一覧

パラメータ 説明
coordinate 座標(緯度,経度) coordinate=40.706974,-74.011281
address 住所 address=The%20Eiffel%20Tower,Paris,France
place-id POIの一意識別子 place-id=IBE1F65094A7A13B1

使用例

// フェリービルディングのLook Around
https://maps.apple.com/look-around?place-id=IBE1F65094A7A13B1

// エッフェル塔のLook Around
https://maps.apple.com/look-around?address=The%20Eiffel%20Tower,Paris,France

iOS シミュレータでの動作確認

これらのパラメータは、iOS 18.3.1 シミュレータでも使用できることを確認した。ただし、Google Mapsのストリートビューと違って、皇居周辺のLook Aroundは表示されなかった。Apple Mapsでは表示可能な場所は限られてそうだ。

位置情報指定でLook Around place-id指定でLook Around
iOS 18.3.1 20250301123820 20250301124031
iOS 18.4 beta1 iOS 18.3.1と同じ iOS 18.3.1と同じ
iOSでの実装方法

Apple Mapsの「Look Around」機能を使って、特定の場所のストリートビューを開く。

import UIKit

func openLookAround(latitude: Double, longitude: Double) {
    let urlString = "https://maps.apple.com/look-around?coordinate=\(latitude),\(longitude)"
    if let url = URL(string: urlString) {
        UIApplication.shared.open(url)
    }
}

// フェリービルディングのLook Aroundを開く
openLookAround(latitude: 37.795442, longitude: -122.393624)

余談:Apple Mapsのストリートビューは現在情報収集中である

先ほど「Apple Mapsでは表示可能な場所は限られてそうだ。」と書いた。余談ではあるが、日本国内でのAppleマップの画像収集作業は現在進行形で実施されている。

東京都府中市では、2025年3月01日〜8月31日の間バックパックを用いたデータ収集が行われており、新宿区では2025年2月17日〜3月31日の間iPad/iPhoneを使った収集がおこなわれている。その他の都市でのデータ収集は以下のスケジュールで行われてる予定だ。

https://maps.apple.com/imagecollection/jp

日本国内のデータ収集が完了するまでかなり時間がかかるだろう。

ルート検索をする

Apple MapsのURLを使えば、出発地と目的地を指定してルート検索ができる。

また、waypoint を指定することで、経由地を追加することも可能だ。 modedriving(車)、walking(徒歩)、transit(公共交通機関)、cycling(自転車)に設定することで、 移動手段を指定できる。

https://maps.apple.com/directions?パラメータ

パラメータ一覧

パラメータ 説明
source 出発地(住所,座標,POI) source=37.795442,-122.393624
destination 目的地(住所,座標,POI) destination=40.753035,-73.981846
waypoint 経由地(複数指定可) waypoint=40.779092,-73.962932
mode 移動手段(driving, walking, transit, cycling) mode=driving
avoid 回避オプション(tolls, highways, busy-roads, stairs) avoid=tolls,highways

使用例

// 運転ルートを表示(現在地 → 皇居)
https://maps.apple.com/directions?destination=%E6%9D%B1%E4%BA%AC%E9%83%BD%E5%8D%83%E4%BB%A3%E7%94%B0%E5%8C%BA%E5%8D%83%E4%BB%A3%E7%94%B01-1&mode=driving

// 徒歩ルートを表示(上野 → 皇居)
https://maps.apple.com/directions?source=35.716358,139.776433&destination=%E6%9D%B1%E4%BA%AC%E9%83%BD%E5%8D%83%E4%BB%A3%E7%94%B0%E5%8C%BA%E5%8D%83%E4%BB%A3%E7%94%B01-1&mode=walking

iOS シミュレータでの動作確認

これらのパラメータは、iOS 18.3.1 シミュレータおよびmacOS 15.3.1ではルート検索が機能しないことを確認した。iOS 18.4 beta1 ではルート検索できた。

位置情報を指定して経路 住所を指定して経路
iOS 18.3.1 ルート検索ができない ルート検索ができない
macOS 15.3.1 ルート検索ができない ルート検索ができない
iOS 18.4 beta1 ルート検索ができる ルート検索ができる
iOSでの実装方法

出発地と目的地を指定してルート検索を行う。

import UIKit

func getDirections(sourceLat: Double, sourceLon: Double, destLat: Double, destLon: Double, mode: String = "driving") {
    let urlString = "https://maps.apple.com/directions?source=\(sourceLat),\(sourceLon)&destination=\(destLat),\(destLon)&mode=\(mode)"
    if let url = URL(string: urlString) {
        UIApplication.shared.open(url)
    }
}

// 日比谷フォートタワーから皇居までの徒歩ルート
getDirections(sourceLat: 35.6700038, sourceLon: 139.7529382, destLat: 35.6844779, destLon: 139.7512224, mode: "walking")

Apple Mapsで問題を報告する

Apple Mapsで誤った情報を見つけた場合、問題を報告することができる。

https://maps.apple.com/report-a-problem?パラメータ

パラメータ一覧

パラメータ 説明
coordinate 問題のある場所の座標(緯度,経度) coordinate=40.753035,-73.981846
address 問題のある場所の住所 address=1000%20Fifth%20Ave,%20NY,NY,10028
place-id 問題のあるPOIの一意識別子 place-id=IBE1F65094A7A13B1

使用例

// ニューヨーク公共図書館の問題を報告
https://maps.apple.com/report-a-problem?coordinate=40.753035,-73.981846

// 1000 Fifth Ave, NY, NYの問題を報告
https://maps.apple.com/report-a-problem?address=1000%20Fifth%20Ave%20New%20York%20NY%2100284%20United%20States

// サンフランシスコ・フェリービルディングの問題を報告
https://maps.apple.com/report-a-problem?place-id=IBE1F65094A7A13B1

iOS シミュレータでの動作確認

これらのパラメータは、iOS 18.3.1 シミュレータでも動作することを確認した。

座標で問題を報告 住所で問題を報告
iOS 18.3.1 20250301125653 20250301125958
iOS 18.4 beta1 iOS 18.3.1と同じ iOS 18.3.1と同じ
iOSでの実装方法

Apple Mapsで特定の場所の問題を報告する。

import UIKit

func reportProblem(latitude: Double, longitude: Double) {
    let urlString = "https://maps.apple.com/report-a-problem?coordinate=\(latitude),\(longitude)"
    if let url = URL(string: urlString) {
        UIApplication.shared.open(url)
    }
}

// ニューヨーク公共図書館の問題を報告
reportProblem(latitude: 40.753035, longitude: -73.981846)

参考記事

https://developer.apple.com/documentation/mapkit/Unified-Map-URLs

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.