Aller au contenu

Configuration iOS

GitHub
Enregistrement de simulateur iOS avec Apple MapKit : épingles de localisation, zones de livraison, un itinéraire, 500 marqueurs groupés, une caméra 3D inclinée et des modes satellite

iOS utilise Apple MapKit. Vous n' pas avez pas besoin de clé API Google Maps sur iOS.

Si vous appelez enableCurrentLocation, ajoutez une description d'utilisation de la localisation à ios/App/App/Info.plist:

<key>NSLocationWhenInUseUsageDescription</key>
<string>We use your location to show you on the map.</string>

Le plugin demande la localisation avec keepAlive pour que enableCurrentLocation peut être résolu de façon fiable une fois l'autorisation accordée.

Le composant natif MKMapView s'insère dans la hiérarchie WKWebView de Capacitor et suit l'élément DOM lié via onResize et onDisplay. Lorsque les pages Ionic sont réaffichées, les chemins d'appel du plugin remontent la carte si WebKit a reconstruit les scroll views.

Utilisez une WebView ou un fond de page transparent là où la carte doit apparaître à travers les couches HTML au-dessus du conteneur de carte.

Dans toBack mode, placez data-map-overlay sur les wrappers HUD pour que le CSS de l'overlay du README active les appuis. Le routeur tactile natif envoie les gestes à la carte lorsque la cible est transparente et ne se trouve pas sous un élément interactif.

Le bridge natif iOS expose également takeSnapshot, searchAutocomplete, searchPlaces, searchResolve, geocode, et reverseGeocode. Elles ne sont pas encore sur la NativeMap classe wrapper. Appelez-les sur le handle du plugin bas niveau si vous avez besoin de recherche MapKit ou de géocodage sur 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');