メインコンテンツへスキップ

iOSの設定

GitHub
Apple MapKitを使用したiOSシミュレータの録画:店舗検索ピン、配送エリア、ルート、500個のクラスターマーカー、傾斜した3Dカメラ、衛星マップタイプ

iOSでは以下を使用します: Apple MapKit。iOSでは 決して Google MapsのAPIキーは不要です。

を呼び出す場合 enableCurrentLocation、に位置情報利用文字列を追加してください ios/App/App/Info.plist:

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

このプラグインは位置情報を要求します keepAlive これで、 enableCurrentLocation 権限が許可された後、確実に解決できます。

ネイティブの MKMapView は Capacitor WKWebView の階層にマウントされ、 onResize と onDisplayを通じてバインドされた DOM 要素を追跡します。Ionic のページが再表示されると、プラグイン内のコールパスが WebKit によってスクロールビューが再構築された場合にマップを再マウントします。

マップコンテナの上にある HTML レイヤーからマップが見えるように、その部分の WebView またはページ背景を透明にしてください。

では toBack モードでは、 data-map-overlay を HUD ラッパーに適用し、README のオーバーレイ CSS でタップを有効にします。ネイティブのタッチルーターは、ヒットターゲットが透明でインタラクティブな要素の下にない場合、ジェスチャをマップに送信します。

ネイティブ iOS ブリッジはまた、 takeSnapshot, searchAutocomplete, searchPlaces, searchResolve, geocodeや reverseGeocodeも公開しています。これらはまだ NativeMap クラスのラッパーには含まれていません。iOS で MapKit の検索やジオコーディングが必要な場合は、低レベルのプラグインハンドルで呼び出してください:

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');