Setup iOS
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
iOS utilizza Apple MapKit. Non hai serve una chiave Google Maps API su iOS.
Se chiami enableCurrentLocation, aggiungi una stringa di utilizzo della posizione a ios/App/App/Info.plist:
<key>NSLocationWhenInUseUsageDescription</key><string>We use your location to show you on the map.</string>Il plugin richiede la posizione con keepAlive quindi enableCurrentLocation risolve in modo affidabile dopo l'attribuzione del permesso.
Mappa dietro la WebView
Sezione intitolata “Mappa dietro la WebView”Il nativo MKMapView si monta nella gerarchia WKWebView di Capacitor e traccia l'elemento DOM associato tramite onResize e onDisplay. Quando le pagine Ionic vengono riattivate, le chiamate al plugin rimontano la mappa se WebKit ha ricostruito le scroll view.
Usa un WebView o uno sfondo di pagina trasparente dove la mappa deve essere visibile attraverso gli strati HTML sopra il contenitore della mappa.
In toBack modalità, metti data-map-overlay sui wrapper HUD in modo che il CSS dell'overlay del README abiliti i tap. Il router touch nativo invia i gesti alla mappa quando il bersaglio del hit è trasparente e non si trova sotto un elemento interattivo.
Metodi del plugin solo per iOS
Sezione intitolata “Metodi del plugin solo per iOS”Il bridge nativo iOS espone anche takeSnapshot, searchAutocomplete, searchPlaces, searchResolve, geocode, e reverseGeocode. Non sono ancora presenti nel NativeMap wrapper della classe. Chiamali sull'handle del plugin di basso livello quando ti serve la ricerca MapKit o il geocoding su iOS:
import { registerPlugin } from '@capacitor/core';
type NativeMapBridge = { takeSnapshot(options: { id: string }): Promise<{ image: string }>; geocode(options: { address: string }): Promise<Record<string, unknown>>;};
const NativeMapBridge = registerPlugin<NativeMapBridge>('NativeMap');