Multi-App-Unterstützung
Google Maps, Apple Maps, Waze, Citymapper und mehr 🗺️
Das Capacitor Launch Navigator-Plugin ermöglicht das Starten nativer Navigations-Apps auf iOS- und Android-Geräten mit koordinatenbasierter Navigation. Dieses Plugin bietet nahtlose Integration mit beliebten Kartenanwendungen und unterstützt mehrere Transportmodi für umfassende Navigationslösungen.
Multi-App-Unterstützung
Google Maps, Apple Maps, Waze, Citymapper und mehr 🗺️
Transportmodi
Fahr-, Geh-, Öffentliche Verkehrsmittel- und Fahrradrichtungen 🧭
App-Erkennung
Verfügbarkeit prüfen und installierte Navigations-Apps auflisten 🔍
Koordinatenbasiert
Navigieren mit Breiten-/Längengrad-Koordinaten 📍
npm install @capgo/capacitor-launch-navigatornpx cap syncFügen Sie URL-Schemata zu Ihrer Info.plist hinzu, um installierte Navigations-Apps zu erkennen:
<key>LSApplicationQueriesSchemes</key><array> <string>googlemaps</string> <string>waze</string> <string>citymapper</string> <!-- Weitere Navigations-App-Schemata hinzufügen --></array>navigate(options) - Navigation zu angegebenen Koordinaten startenisAppAvailable(options) - Prüfen, ob eine bestimmte Navigations-App installiert istgetAvailableApps() - Alle verfügbaren Navigations-Apps auf dem Gerät auflistengetSupportedApps() - Alle unterstützten Apps für die aktuelle Plattform abrufenimport { LaunchNavigator, TransportMode } from '@capgo/capacitor-launch-navigator';
// Grundlegende Navigation zu Koordinatenawait LaunchNavigator.navigate({ destination: [37.7749, -122.4194], // San Francisco Koordinaten});
// Erweiterte Navigation mit Optionenawait LaunchNavigator.navigate({ destination: [37.7749, -122.4194], options: { start: [37.7849, -122.4094], // Optionaler Startpunkt transportMode: TransportMode.DRIVING, app: 'google_maps', // Bevorzugte Navigations-App appDisplayName: 'Google Maps' }});
// Prüfen, ob bestimmte App verfügbar istconst result = await LaunchNavigator.isAppAvailable({ app: 'google_maps'});
if (result.available) { console.log('Google Maps ist installiert');} else { console.log('Google Maps ist nicht verfügbar');}
// Alle verfügbaren Navigations-Apps abrufenconst availableApps = await LaunchNavigator.getAvailableApps();console.log('Verfügbare Navigations-Apps:', availableApps);
// Alle unterstützten Apps für die Plattform abrufenconst supportedApps = await LaunchNavigator.getSupportedApps();console.log('Unterstützte Apps:', supportedApps);interface NavigationOptions { start?: [number, number]; // Startkoordinaten [lat, lng] transportMode?: TransportMode; // Transportmethode app?: string; // Bevorzugte Navigations-App appDisplayName?: string; // Anzeigename für App launchMode?: LaunchMode; // Wie die App gestartet werden soll}enum TransportMode { DRIVING = 'driving', WALKING = 'walking', TRANSIT = 'transit', CYCLING = 'cycling'}⚠️ Wichtig: Dieses Plugin akzeptiert nur Breiten-/Längengrad-Koordinaten für die Navigation. Verwenden Sie @capgo/capacitor-nativegeocoder, um Adressen in Koordinaten umzuwandeln.
// Beispiel mit Geocodingimport { NativeGeocoder } from '@capgo/capacitor-nativegeocoder';
// Adresse in Koordinaten umwandelnconst geocodeResult = await NativeGeocoder.forwardGeocode({ address: '1600 Amphitheatre Parkway, Mountain View, CA'});
if (geocodeResult.results.length > 0) { const coords = geocodeResult.results[0];
// Navigation mit geokodierten Koordinaten starten await LaunchNavigator.navigate({ destination: [coords.latitude, coords.longitude] });}// Mehrere Apps prüfen und die erste verfügbare verwendenconst 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('Keine unterstützten Navigations-Apps gefunden');}try { await LaunchNavigator.navigate({ destination: [37.7749, -122.4194], options: { app: 'google_maps', transportMode: TransportMode.DRIVING } });} catch (error) { console.error('Navigation fehlgeschlagen:', error); // Fehler behandeln - App nicht verfügbar, ungültige Koordinaten, etc.}Schauen Sie sich die vollständige Dokumentation für detaillierte Implementierungsanleitungen und erweiterte Navigationsmuster an.