mapbox-navigation-patterns について
Mapbox Directions API と Navigation SDK を使ったルート案内の開発パターンを紹介するスキルです。Web、iOS、Android 向けに、API の選択やナビゲーション機能の実装方法をまとめています。
主な機能
- 01Directions API によるルート計画
- 02ターンバイターン SDK のパターン
- 03交通状況を考慮した案内
- 04複数地点のルートと最適化
- 05プラットフォーム別の実装資料
活用シーン
- 01Directions API と Navigation SDK の選択
- 02モバイルアプリへのターンバイターン案内追加
- 03複数地点を含むルートの計画
- 04交通状況を考慮したルート案内の実装
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mapbox/ mapbox-agent-skills --skill mapbox-navigation-patternsインストール後、Claude Code で/mapbox-navigation-patternsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdevals/evals.jsonreferences/android-navigation-sdk.mdandroid-performance-antipatterns.mdbest-practices.mdios-navigation-sdk.mdios-navigation-specialized.mdweb-directions-api.md詳細
Mapbox ナビゲーションのパターン
Mapbox Directions API と Navigation SDK を使用してナビゲーション機能やルーティング機能を実装するための専門的なガイダンスです。ターンバイターンナビゲーション、ルート最適化、リアルタイム交通情報の統合、複数地点ルーティング、ナビゲーション UI コンポーネントについて説明します。
このスキルを使用する場面
ユーザーが次のように尋ねた場合に使用します。
- 「アプリにターンバイターンナビゲーションを実装したい」
- 「運転ルート案内を追加するにはどうすればよいですか?」
- 「地図上にルートを表示したい」
- 「複数地点を経由するルーティングが必要です」
- 「音声案内を追加するにはどうすればよいですか?」
- 「リアルタイムの交通情報を表示したい」
- 「配送ルートを最適化したい」
製品概要
Directions API(REST)
最適な用途: ウェブアプリケーション、シンプルなルーティング、バックエンドでのルート計算
機能:
- ルート計算(自動車、徒歩、自転車、交通情報)
- 代替ルート
- ターンバイターンの指示
- 複数地点のルーティング(経由地は最大 25 地点)
- ルート最適化
- リアルタイム交通情報
- 特定の道路やエリアの回避
料金: リクエストごとの従量課金
iOS 向け Navigation SDK
最適な用途: ターンバイターンナビゲーションを備えたネイティブ iOS アプリ
デフォルト: SwiftUI アプリのシェルを使用し、ドロップインの NavigationViewController を UIViewControllerRepresentable でラップします(公式のスタートガイドに沿った方法)。完全にカスタムの Core UI(CoreSDKExample)を使用するのは、ユーザーが独自のナビゲーション UI を構築したいと明示した場合に限ります。
コーディングを始める前に: SPM(MapboxNavigationCore と MapboxNavigationUIKit)、MBXAccessToken、位置情報の許可、バックグラウンドでの audio/location の設定について、インストールガイドと iOS リファレンスチェックリストを参照してください。安定版の Core/UIKit リリースでは、ダウンロード用の .netrc トークンは必要ありません。
機能:
- ドロップインのターンバイターン UI(
NavigationViewController)— デフォルト - オプションの完全カスタム Core UI(ルートの進行状況/バナーのパブリッシャー)
- 音声案内(30 以上の言語)
- リアルタイムのルート再検索
- 交通情報に対応したルーティング
- オフラインの地図とルーティング
- ルートの進行状況の追跡
- 速度制限の表示
料金: 月間アクティブユーザー数(MAU)ベース
Android 向け Navigation SDK
最適な用途: ターンバイターンナビゲーションを備えたネイティブ Android アプリ
機能:
- 完全なターンバイターンナビゲーション UI
- 音声案内(30 以上の言語)
- リアルタイムのルート再検索
- 交通情報に対応したルーティング
- オフラインの地図とルーティング
- カスタム UI コンポーネント
- ルートの進行状況の追跡
- 速度制限の表示
料金: 月間アクティブユーザー数(MAU)ベース
選択ガイド
Directions API を選ぶ場合:
- ✅ ウェブアプリケーション
- ✅ シンプルなルート表示(ターンバイターンナビゲーションなし)
- ✅ バックエンドでのルート計算
- ✅ ルートの計画と最適化
- ✅ 複数地点のルーティング
- ✅ 音声案内が不要
Navigation SDK を選ぶ場合:
- ✅ ネイティブのモバイルアプリ(iOS/Android)
- ✅ ターンバイターンナビゲーションが必要
- ✅ 音声案内が必要
- ✅ ナビゲーション UI コンポーネントが必要
- ✅ オフラインナビゲーションが必要
- ✅ リアルタイムのルート再検索が必要
- ✅ ナビゲーション/配送アプリを構築する
実装パターン
- references/web-directions-api.md - Web 向け Directions API パターン:基本的なルート表示、ターンバイターンの案内、代替ルート、複数地点経由のルート設定、ルート最適化、混雑状況に応じたルートの色分け
- references/ios-navigation-sdk.md - 対象:iOS のターンバイターン案内、セットアップ、デフォルトの SwiftUI +ラップされた
NavigationViewController、Core のオプトイン、サンプルカタログ - references/ios-navigation-specialized.md - 対象:複数地点経由のルート、ルートライン、カメラ、道路カメラ、ルートアラート、または
NavigationMapViewのカスタマイズ - references/android-navigation-sdk.md - Android 向け Navigation SDK:基本的なターンバイターンナビゲーション、カスタムナビゲーション UI、ルートラインの描画、曲がり角の矢印、ナビゲーションカメラ、音声案内
- references/android-performance-antipatterns.md - Android Navigation SDK のパフォーマンスと正確性に関するアンチパターン:Native Route Object の走査コスト、スレッド処理、メモリ/ライフサイクルのリーク、ルート管理の正確性、高頻度コールバック時の描画効率、Coordination API のライフサイクル
- references/best-practices.md - ルートのキャッシュ、エラー処理、パフォーマンス最適化、ユーザーエクスペリエンス、一般的なユースケース(配送ルート、ライドシェアの到着予定時刻、徒歩/自転車の経路案内)
関連スキル
- mapbox-search-integration:住所検索とジオコーディング
- mapbox-web-performance-patterns:ナビゲーションのパフォーマンス最適化
- mapbox-ios-patterns:iOS 固有の統合パターン
- mapbox-android-patterns:Android 固有の統合パターン
- mapbox-token-security:アクセストークンの保護
リソース
- Directions API のドキュメント
- iOS 向け Navigation SDK
- Android 向け Navigation SDK
- Optimization API のドキュメント
- Map Matching API
- Navigation 製品の概要
簡単な選択ガイド
ユーザーが「経路案内が必要です」と言った場合
- Web アプリ → Directions API を使用
- モバイルアプリ → Navigation SDK を使用
ユーザーが「ターンバイターンナビゲーションが必要です」と言った場合
- iOS → iOS 向け Navigation SDK(デフォルトでは SwiftUI +ラップされた
NavigationViewController。Core のカスタム UI はリクエストされた場合のみ) - Android → Android 向け Navigation SDK
- Web → Directions API +カスタム UI を使用(音声案内なし)
ユーザーが「配送ルートを最適化したい」と言った場合 → Optimization API を使用(複数地点経由のルート最適化)
ユーザーが「リアルタイムの交通情報が必要です」と言った場合
→ Directions API または Navigation SDK で driving-traffic プロファイルを使用
ユーザーが「音声案内が必要です」と言った場合 → Navigation SDK を使用する必要があります(iOS/Android のみ)
ユーザーが「Directions API と Navigation SDK のどちらですか?」と尋ねた場合 → ネイティブのターンバイターン案内/音声 → Navigation SDK(MAU 課金)。Web/ルート表示のみ → Directions API(リクエストごとの課金)。