Dukungan multi-aplikasi
Google Maps, Apple Maps, Waze, Citymapper dan lainnya 🗺️
Plugin Capacitor Launch Navigator memungkinkan peluncuran aplikasi navigasi native di perangkat iOS dan Android dengan navigasi berbasis koordinat. Plugin ini menyediakan integrasi yang mulus dengan aplikasi pemetaan populer dan mendukung berbagai mode transportasi untuk solusi navigasi yang komprehensif.
Dukungan multi-aplikasi
Google Maps, Apple Maps, Waze, Citymapper dan lainnya 🗺️
Mode transportasi
Petunjuk mengemudi, berjalan kaki, transit, dan bersepeda 🧭
Deteksi aplikasi
Periksa ketersediaan dan daftar aplikasi navigasi yang terinstal 🔍
Berbasis koordinat
Navigasi menggunakan koordinat latitude/longitude 📍
npm install @capgo/capacitor-launch-navigatornpx cap syncTambahkan URL scheme ke Info.plist Anda untuk mendeteksi aplikasi navigasi yang terinstal:
<key>LSApplicationQueriesSchemes</key><array> <string>googlemaps</string> <string>waze</string> <string>citymapper</string> <!-- Tambahkan scheme aplikasi navigasi lainnya --></array>navigate(options) - Luncurkan navigasi ke koordinat yang ditentukanisAppAvailable(options) - Periksa apakah aplikasi navigasi tertentu terinstalgetAvailableApps() - Daftar semua aplikasi navigasi yang tersedia di perangkatgetSupportedApps() - Dapatkan semua aplikasi yang didukung untuk platform saat iniimport { LaunchNavigator, TransportMode } from '@capgo/capacitor-launch-navigator';
// Navigasi dasar ke koordinatawait LaunchNavigator.navigate({ destination: [37.7749, -122.4194], // Koordinat San Francisco});
// Navigasi lanjutan dengan opsiawait LaunchNavigator.navigate({ destination: [37.7749, -122.4194], options: { start: [37.7849, -122.4094], // Titik awal opsional transportMode: TransportMode.DRIVING, app: 'google_maps', // Aplikasi navigasi yang dipilih appDisplayName: 'Google Maps' }});
// Periksa apakah aplikasi tertentu tersediaconst result = await LaunchNavigator.isAppAvailable({ app: 'google_maps'});
if (result.available) { console.log('Google Maps terinstal');} else { console.log('Google Maps tidak tersedia');}
// Dapatkan semua aplikasi navigasi yang tersediaconst availableApps = await LaunchNavigator.getAvailableApps();console.log('Aplikasi navigasi yang tersedia:', availableApps);
// Dapatkan semua aplikasi yang didukung untuk platformconst supportedApps = await LaunchNavigator.getSupportedApps();console.log('Aplikasi yang didukung:', supportedApps);interface NavigationOptions { start?: [number, number]; // Koordinat awal [lat, lng] transportMode?: TransportMode; // Metode transportasi app?: string; // Aplikasi navigasi yang dipilih appDisplayName?: string; // Nama tampilan untuk aplikasi launchMode?: LaunchMode; // Cara meluncurkan aplikasi}enum TransportMode { DRIVING = 'driving', WALKING = 'walking', TRANSIT = 'transit', CYCLING = 'cycling'}⚠️ Penting: Plugin ini hanya menerima koordinat latitude/longitude untuk navigasi. Gunakan @capgo/capacitor-nativegeocoder untuk mengonversi alamat ke koordinat.
// Contoh dengan geocodingimport { NativeGeocoder } from '@capgo/capacitor-nativegeocoder';
// Konversi alamat ke koordinatconst geocodeResult = await NativeGeocoder.forwardGeocode({ address: '1600 Amphitheatre Parkway, Mountain View, CA'});
if (geocodeResult.results.length > 0) { const coords = geocodeResult.results[0];
// Luncurkan navigasi dengan koordinat yang di-geocode await LaunchNavigator.navigate({ destination: [coords.latitude, coords.longitude] });}// Periksa beberapa aplikasi dan gunakan yang pertama tersediaconst 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('Tidak ada aplikasi navigasi yang didukung ditemukan');}try { await LaunchNavigator.navigate({ destination: [37.7749, -122.4194], options: { app: 'google_maps', transportMode: TransportMode.DRIVING } });} catch (error) { console.error('Navigasi gagal:', error); // Tangani error - aplikasi tidak tersedia, koordinat tidak valid, dll.}Periksa dokumentasi lengkap untuk panduan implementasi terperinci dan pola navigasi lanjutan.