マルチアプリサポート
Google Maps、Apple Maps、Waze、Citymapper など 🗺️
Capacitor Launch Navigator プラグインは、座標ベースのナビゲーションで iOS および Android デバイス上のネイティブナビゲーションアプリを起動できるようにします。このプラグインは、人気のあるマッピングアプリケーションとのシームレスな統合を提供し、包括的なナビゲーションソリューションのための複数の交通手段をサポートします。
マルチアプリサポート
Google Maps、Apple Maps、Waze、Citymapper など 🗺️
交通手段
運転、徒歩、公共交通機関、自転車のナビゲーション 🧭
アプリ検出
利用可能性をチェックしてインストールされたナビゲーションアプリをリスト 🔍
座標ベース
緯度/経度座標を使用してナビゲート 📍
npm install @capgo/capacitor-launch-navigatornpx cap syncインストールされたナビゲーションアプリを検出するために、Info.plist に URL スキームを追加します:
<key>LSApplicationQueriesSchemes</key><array> <string>googlemaps</string> <string>waze</string> <string>citymapper</string> <!-- 他のナビゲーションアプリスキームを追加 --></array>navigate(options) - 指定された座標へのナビゲーションを起動isAppAvailable(options) - 特定のナビゲーションアプリがインストールされているかチェックgetAvailableApps() - デバイス上のすべての利用可能なナビゲーションアプリをリストgetSupportedApps() - 現在のプラットフォーム用のすべてのサポートされているアプリを取得import { LaunchNavigator, TransportMode } from '@capgo/capacitor-launch-navigator';
// 座標への基本的なナビゲーションawait LaunchNavigator.navigate({ destination: [37.7749, -122.4194], // サンフランシスコの座標});
// オプション付きの高度なナビゲーションawait LaunchNavigator.navigate({ destination: [37.7749, -122.4194], options: { start: [37.7849, -122.4094], // オプションの出発点 transportMode: TransportMode.DRIVING, app: 'google_maps', // 優先ナビゲーションアプリ appDisplayName: 'Google Maps' }});
// 特定のアプリが利用可能かチェックconst result = await LaunchNavigator.isAppAvailable({ app: 'google_maps'});
if (result.available) { console.log('Google Maps がインストールされています');} else { console.log('Google Maps は利用できません');}
// すべての利用可能なナビゲーションアプリを取得const availableApps = await LaunchNavigator.getAvailableApps();console.log('利用可能なナビゲーションアプリ:', availableApps);
// プラットフォーム用のすべてのサポートされているアプリを取得const supportedApps = await LaunchNavigator.getSupportedApps();console.log('サポートされているアプリ:', supportedApps);interface NavigationOptions { start?: [number, number]; // 開始座標 [lat, lng] transportMode?: TransportMode; // 交通手段 app?: string; // 優先ナビゲーションアプリ appDisplayName?: string; // アプリの表示名 launchMode?: LaunchMode; // アプリの起動方法}enum TransportMode { DRIVING = 'driving', WALKING = 'walking', TRANSIT = 'transit', CYCLING = 'cycling'}⚠️ 重要: このプラグインは、ナビゲーションに緯度/経度座標のみを受け入れます。住所を座標に変換するには、@capgo/capacitor-nativegeocoder を使用してください。
// ジオコーディングの例import { NativeGeocoder } from '@capgo/capacitor-nativegeocoder';
// 住所を座標に変換const geocodeResult = await NativeGeocoder.forwardGeocode({ address: '1600 Amphitheatre Parkway, Mountain View, CA'});
if (geocodeResult.results.length > 0) { const coords = geocodeResult.results[0];
// ジオコードされた座標でナビゲーションを起動 await LaunchNavigator.navigate({ destination: [coords.latitude, coords.longitude] });}// 複数のアプリをチェックして最初に利用可能なものを使用const appsToCheck = ['google_maps', 'waze', 'apple_maps'];let selectedApp = null;
for (const app of appsToCheck) { const result = await LaunchNavigator.isAppAvailable({ app }); if (result.available) { selectedApp = app; break; }}
if (selectedApp) { await LaunchNavigator.navigate({ destination: [37.7749, -122.4194], options: { app: selectedApp } });} else { console.log('サポートされているナビゲーションアプリが見つかりません');}try { await LaunchNavigator.navigate({ destination: [37.7749, -122.4194], options: { app: 'google_maps', transportMode: TransportMode.DRIVING } });} catch (error) { console.error('ナビゲーションに失敗しました:', error); // エラーを処理 - アプリが利用できない、無効な座標など}詳細な実装ガイドと高度なナビゲーションパターンについては、完全なドキュメントをご覧ください。