
Apple MapsのURLが統一!「Unified Maps URLs」の仕組みと使い方
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¢er=35.6844779,139.7512224
// 南向き(180°)、ピッチ15°、距離10kmで表示
https://maps.apple.com/frame?map=explore¢er=35.6844779,139.7512224&heading=180&pitch=15&distance=10000
iOS シミュレータでの動作確認
これらのパラメータは、iOS 18.3.1 シミュレータでも使用できることを確認した。
皇居を中心 | 衛星写真モード | 南向き(180°)、ピッチ15°、距離10km | |
---|---|---|---|
iOS 18.3.1 | ![]() |
![]() |
![]() |
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¢er=51.507984,-0.128015
iOS シミュレータでの動作確認
これらのパラメータは、iOS 18.3.1 シミュレータでも使用できることを確認した。
現在表示されている周辺で寿司を検索 | トラファルガー広場周辺で寿司を検索 | |
---|---|---|
iOS 18.3.1 | ![]() |
![]() |
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 | ![]() |
![]() |
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 | ![]() |
![]() |
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を使った収集がおこなわれている。その他の都市でのデータ収集は以下のスケジュールで行われてる予定だ。
日本国内のデータ収集が完了するまでかなり時間がかかるだろう。
ルート検索をする
Apple MapsのURLを使えば、出発地と目的地を指定してルート検索ができる。
また、waypoint
を指定することで、経由地を追加することも可能だ。 mode
を driving
(車)、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 | ![]() |
![]() |
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)
参考記事