Google Maps URLsはクロスプラットフォーム用
Google for DevelopersのMaps URLs資料では、共通のURL形式からGoogleマップを起動し、検索、経路、ナビゲーション、地図表示などを行えると説明されています。URL構文はプラットフォームをまたいで共通で、Google APIキーも不要です。
たとえば、場所検索や経路を表すURLをWeb、Android、iOSで共有できる設計です。GoogleのiOS向け資料でも、幅広い利用ではMaps URLsを推奨しています。
iOSの comgooglemaps:// は何のため?
GoogleはiOS向けに comgooglemaps:// などのURL schemeも公式に説明しています。これはGoogle Mapsアプリを起動して検索や経路表示などを行うための方法です。
ただしGoogleは、iOS 9以降ではGoogle Maps URLのUniversal Linksも利用でき、一般的な利用ではクロスプラットフォームのMaps URLsを推奨しています。専用schemeは、モバイル固有機能などが必要な場合の選択肢です。
comgooglemaps:// に変換する」ではありません。専用schemeを使うならアプリ導入確認が必要
GoogleのiOS URL Scheme資料では、専用schemeを起動する前にGoogle Mapsアプリがインストールされているか canOpenURL などで確認するよう案内しています。
WebページやSNSリンクでは、リンクをタップする全ユーザーのアプリ導入状態を事前に把握できないため、通常のMaps URLをfallbackとして残すことが重要です。
現在の製品実装との違い
現在の製品コードにはGoogle Maps URLを判定し、iOS向け comgooglemaps:// 候補やAndroid向け geo: 候補を生成する処理があります。
一方、コア保存APIはGoogle Mapsを保存対象の5系統には含めていません。また、Google公式の推奨を踏まえると、生成できるからといって必ず変換する必要はありません。
どの方法を選べばよい?
| 用途 | 第一候補 | 理由 |
|---|---|---|
| SNS・メール・Webで店舗/場所を共有 | Google Maps URL | クロスプラットフォームで扱いやすく、Googleが広く推奨。 |
| 経路・ナビゲーションURLを広く共有 | Maps URLs | 共通構文でAndroid/iOS/Webを扱える。 |
| iOSネイティブアプリからGoogle Maps固有機能を使う | iOS URL schemeを検討 | アプリ導入確認などをアプリ側で制御できる。 |
| 利用者環境が不明 | 通常Maps URLを残す | 専用アプリ未導入時の到達性を保ちやすい。 |
Maps URLを作る時の基本
GoogleのMaps URLsでは api=1 を含む形式が基本で、検索ならquery、経路ならorigin/destinationなどのパラメータを使います。場所を正確に識別したい場合はPlace IDも利用できます。
共有元がGoogleマップアプリであれば、まずGoogleマップの共有機能から得たURLを使うのが分かりやすい方法です。
アプリ内ブラウザでは別問題が起きることもある
Google Maps URL自体が適切でも、SNS内ブラウザ/WebViewの遷移処理によって外部アプリ起動が変わる場合があります。SNS内だけ開かない時は、外部ブラウザとの切り分けを試してください。
現在の製品対応
Google Mapsは直接生成コードがありますが、コア保存APIと同等の保存/短縮経路はありません。Google Mapsの対応状態では、この違いを分けて表示しています。