Prise en charge de plusieurs applications
Google Cartes, Apple Cartes, Waze, Citymapper et plus 🗺️
The Capacitor Launch Navigator plugin enables launching native navigation apps on iOS and Android devices with coordinate-based navigation. This plugin provides seamless integration with popular mapping applications and supports multiple transportation modes for comprehensive navigation solutions.
Prise en charge de plusieurs applications
Google Cartes, Apple Cartes, Waze, Citymapper et plus 🗺️
Modes de transport
Itinéraires en voiture, à pied, en transports en commun et à vélo 🧭
Détection d'applications
Vérifiez la disponibilité et répertoriez les applications de navigation installées 🔍
Coordinate-based
Naviguez en utilisant les coordonnées latitude/longitude 📍
##Installation
npm install @capgo/capacitor-launch-navigatornpx cap syncAjoutez des schémas d’URL à votre Info.plist pour détecter les applications de navigation installées :
<key>LSApplicationQueriesSchemes</key><array> <string>googlemaps</string> <string>waze</string> <string>citymapper</string> <!-- Add other navigation app schemes --></array>navigate(options) - Lancer la navigation vers les coordonnées spécifiéesisAppAvailable(options) - Vérifiez si une application de navigation spécifique est installéegetAvailableApps() - Répertorie toutes les applications de navigation disponibles sur l’appareilgetSupportedApps() - Obtenez toutes les applications prises en charge pour la plate-forme actuelleimport { LaunchNavigator, TransportMode } from '@capgo/capacitor-launch-navigator';
// Basic navigation to coordinatesawait LaunchNavigator.navigate({ destination: [37.7749, -122.4194], // San Francisco coordinates});
// Advanced navigation with optionsawait LaunchNavigator.navigate({ destination: [37.7749, -122.4194], options: { start: [37.7849, -122.4094], // Optional starting point transportMode: TransportMode.DRIVING, app: 'google_maps', // Preferred navigation app appDisplayName: 'Google Maps' }});
// Check if specific app is availableconst result = await LaunchNavigator.isAppAvailable({ app: 'google_maps'});
if (result.available) { console.log('Google Maps is installed');} else { console.log('Google Maps is not available');}
// Get all available navigation appsconst availableApps = await LaunchNavigator.getAvailableApps();console.log('Available navigation apps:', availableApps);
// Get all supported apps for platformconst supportedApps = await LaunchNavigator.getSupportedApps();console.log('Supported apps:', supportedApps);## Options de navigation
interface NavigationOptions { start?: [number, number]; // Starting coordinates [lat, lng] transportMode?: TransportMode; // Transportation method app?: string; // Preferred navigation app appDisplayName?: string; // Display name for app launchMode?: LaunchMode; // How to launch the app}enum TransportMode { DRIVING = 'driving', WALKING = 'walking', TRANSIT = 'transit', CYCLING = 'cycling'}⚠️ Important : Ce plugin n’accepte que les coordonnées latitude/longitude pour la navigation. Utilisez @capgo/capacitor-nativegeocoder pour convertir les adresses en coordonnées.
// Example with geocodingimport { NativeGeocoder } from '@capgo/capacitor-nativegeocoder';
// Convert address to coordinatesconst geocodeResult = await NativeGeocoder.forwardGeocode({ address: '1600 Amphitheatre Parkway, Mountain View, CA'});
if (geocodeResult.results.length > 0) { const coords = geocodeResult.results[0];
// Launch navigation with geocoded coordinates await LaunchNavigator.navigate({ destination: [coords.latitude, coords.longitude] });}// Check multiple apps and use the first availableconst 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('No supported navigation apps found');}try { await LaunchNavigator.navigate({ destination: [37.7749, -122.4194], options: { app: 'google_maps', transportMode: TransportMode.DRIVING } });} catch (error) { console.error('Navigation failed:', error); // Handle error - app not available, invalid coordinates, etc.}## meilleures pratiques
##Documents
Consultez la documentation complète pour obtenir des guides de mise en œuvre détaillés et des modèles de navigation avancés.