Panduan
Cara menggunakan Native Map di Capacitor
Menggunakan @capgo/capacitor-native-map
Google Maps di Android, Apple MapKit di iOS, dan Google Maps JS di web dengan satu API TypeScript untuk marker, kamera, shape, clustering, dan event.
Instal
bun add @capgo/capacitor-native-map
bunx cap sync
Apa yang Diekspos Plugin Ini
create: peta tertanam dalam elemen DOM, atautoBack: trueuntuk peta di balik HTML transparan.updateLayout: ubah ukuran dan posisi peta native (pixel CSS).setCamera/fitBounds: kontrol kamera dan viewport.addMarker/addMarkers/removeMarker: marker dengan listener tap dan drag.enableClustering: kelompokkan kumpulan marker yang padat.enableCurrentLocation: titik lokasi user jika izin diberikan.- Overlay: poligon, polyline, lingkaran, dan layer tile (bervariasi per platform).
Contoh Penggunaan
Peta tertanam
import { NativeMap } from '@capgo/capacitor-native-map';
const map = await NativeMap.create({
id: 'main-map',
element: document.getElementById('map')!,
apiKey: 'YOUR_GOOGLE_MAPS_API_KEY',
config: {
center: { lat: 37.7749, lng: -122.4194 },
zoom: 12,
},
});
map.setOnMapClickListener((e) => console.log(e.latitude, e.longitude));
// In a framework component, call `await map.destroy()` from your teardown/cleanup hook.
Peta background dengan UI HTML
const map = await NativeMap.create({
id: 'stores-map',
toBack: true,
apiKey: 'YOUR_GOOGLE_MAPS_API_KEY',
config: {
center: { lat: 40.7128, lng: -74.006 },
zoom: 11,
x: 0,
y: 0,
width: window.innerWidth,
height: window.innerHeight,
},
});
await map.updateLayout({
x: 0,
y: 0,
width: window.innerWidth,
height: window.innerHeight,
});
Bungkus bagian HUD dengan data-map-overlay (lihat panduan memulai) sehingga CSS overlay memungkinkan tap; area transparan meneruskan gesture ke peta.
Referensi Lengkap
- GitHub: https://github.com/Cap-go/capacitor-native-map/
- Dokumentasi: /docs/plugins/native-map/