mcpField
M
mapbox-navigation-patterns

mapbox-navigation-patterns

github.com/mapbox開発83411 回インストール4 週間前に更新
リポジトリ

mapbox-navigation-patterns について

Mapbox Directions API と Navigation SDK を使ったルート案内の開発パターンを紹介するスキルです。Web、iOS、Android 向けに、API の選択やナビゲーション機能の実装方法をまとめています。

主な機能

  1. 01Directions API によるルート計画
  2. 02ターンバイターン SDK のパターン
  3. 03交通状況を考慮した案内
  4. 04複数地点のルートと最適化
  5. 05プラットフォーム別の実装資料

活用シーン

  1. 01Directions API と Navigation SDK の選択
  2. 02モバイルアプリへのターンバイターン案内追加
  3. 03複数地点を含むルートの計画
  4. 04交通状況を考慮したルート案内の実装

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mapbox/mapbox-agent-skills --skill mapbox-navigation-patterns

インストール後、Claude Code で/mapbox-navigation-patternsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

AGENTS.md
evals/
evals.json
references/
android-navigation-sdk.md
android-performance-antipatterns.md
best-practices.md
ios-navigation-sdk.md
ios-navigation-specialized.md
web-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:アクセストークンの保護

リソース

簡単な選択ガイド

ユーザーが「経路案内が必要です」と言った場合

  • 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(リクエストごとの課金)。

コメント