Zum Inhalt springen

Loslegen

Terminal-Fenster
npm install @capgo/capacitor-launch-navigator
npx cap sync

Fü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>
<string>transit</string>
<string>moovit</string>
<string>uber</string>
<string>lyft</string>
</array>

Keine zusätzliche Konfiguration erforderlich. Das Plugin erkennt installierte Navigations-Apps automatisch.

import { LaunchNavigator, TransportMode } from '@capgo/capacitor-launch-navigator';
// Grundlegende Navigation zu Koordinaten
await LaunchNavigator.navigate({
destination: [37.7749, -122.4194], // San Francisco Koordinaten
});
// Erweiterte Navigation mit Optionen
await 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 ist
const 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 abrufen
const availableApps = await LaunchNavigator.getAvailableApps();
console.log('Verfügbare Navigations-Apps:', availableApps);
// Alle unterstützten Apps für die Plattform abrufen
const supportedApps = await LaunchNavigator.getSupportedApps();
console.log('Unterstützte Apps:', supportedApps);
navigate(options: NavigateOptions) => Promise<void>

Startet die Navigation zu angegebenen Koordinaten.

ParamTyp
optionsNavigateOptions
isAppAvailable(options: { app: string }) => Promise<{ available: boolean }>

Prüft, ob eine bestimmte Navigations-App installiert ist.

ParamTyp
options{ app: string }

Rückgabe: Promise<{ available: boolean }>

getAvailableApps() => Promise<{ apps: string[] }>

Ruft die Liste aller verfügbaren Navigations-Apps auf dem Gerät ab.

Rückgabe: Promise<{ apps: string[] }>

getSupportedApps() => Promise<{ apps: string[] }>

Ruft die Liste aller unterstützten Apps für die aktuelle Plattform ab.

Rückgabe: Promise<{ apps: string[] }>

EigenschaftTypBeschreibung
destination[number, number]Zielkoordinaten [lat, lng]
optionsNavigationOptionsZusätzliche Navigationsoptionen (optional)
EigenschaftTypBeschreibung
start[number, number]Startkoordinaten [lat, lng] (optional)
transportModeTransportModeTransportmethode (optional)
appstringBevorzugte Navigations-App (optional)
appDisplayNamestringAnzeigename für App (optional)
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.

import { NativeGeocoder } from '@capgo/capacitor-nativegeocoder';
import { LaunchNavigator } from '@capgo/capacitor-launch-navigator';
// Adresse in Koordinaten umwandeln
const 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]
});
}
  • Apple Maps (integriert)
  • Google Maps
  • Waze
  • Citymapper
  • Transit
  • Moovit
  • Uber
  • Lyft
  • Und viele mehr…
  • Google Maps (integriert)
  • Waze
  • Citymapper
  • HERE WeGo
  • Sygic
  • MapQuest
  • Moovit
  • Und viele mehr…

Mehrere Apps prüfen und die erste verfügbare verwenden

Section titled “Mehrere Apps prüfen und die erste verfügbare verwenden”
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('Keine unterstützten Navigations-Apps gefunden');
}
// Verfügbare Apps abrufen
const { apps } = await LaunchNavigator.getAvailableApps();
if (apps.length === 0) {
alert('Keine Navigations-Apps verfügbar');
return;
}
// App-Auswahl dem Benutzer zeigen (Pseudo-Code)
const selectedApp = await showAppSelectionDialog(apps);
// Mit ausgewählter App navigieren
await LaunchNavigator.navigate({
destination: [37.7749, -122.4194],
options: { app: selectedApp }
});
Section titled “Navigation mit verschiedenen Transportmodi”
// Fahranweisungen
await LaunchNavigator.navigate({
destination: [37.7749, -122.4194],
options: {
transportMode: TransportMode.DRIVING
}
});
// Gehrichtungen
await LaunchNavigator.navigate({
destination: [37.7749, -122.4194],
options: {
transportMode: TransportMode.WALKING
}
});
// Öffentliche Verkehrsmittel
await LaunchNavigator.navigate({
destination: [37.7749, -122.4194],
options: {
transportMode: TransportMode.TRANSIT
}
});
  • Prüfen Sie immer die App-Verfügbarkeit, bevor Sie die Navigation versuchen
  • Bieten Sie Fallback-Optionen an, wenn bevorzugte Apps nicht verfügbar sind
  • Verwenden Sie aussagekräftige App-Anzeigenamen für die Benutzerauswahl
  • Behandeln Sie Fehler mit benutzerfreundlichen Meldungen
  • Berücksichtigen Sie Benutzerpräferenzen für Standard-Navigations-Apps
  • Testen Sie auf iOS- und Android-Geräten
  • Implementieren Sie eine ordnungsgemäße Fehlerbehandlung für ungültige Koordinaten
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.
alert('Navigation konnte nicht gestartet werden. Bitte überprüfen Sie Ihre Koordinaten und versuchen Sie es erneut.');
}
  • Standortbasierte Dienste: Benutzer zu Sehenswürdigkeiten navigieren
  • Liefer-Apps: Fahrer zu Lieferorten führen
  • Event-Apps: Teilnehmer zu Veranstaltungsorten leiten
  • Immobilien-Apps: Zu Immobilienstandorten navigieren
  • Reise-Apps: Touristen zu Attraktionen führen
  • Service-Apps: Außendienstmitarbeiter zu Einsatzorten leiten