दस्तावेज़ / सेटअप / iOS / Apple MapKit

Apple MapKit का सेटअप

MapConductor से Apple के MapKit का उपयोग करने की प्रक्रिया है। किसी बाहरी निर्भरता, API कुंजी, या SDK प्रारंभीकरण की आवश्यकता नहीं है, और यह iOS प्रदाता के रूप में सबसे कम तैयारी की मांग करता है।

PACKAGE
ios-for-mapkit
API KEY
आवश्यक नहीं
MIN iOS
15.1
VIEW
MapKitMapView
वही प्रोवाइडर, दूसरे प्लेटफ़ॉर्मReact

शुरू करने से पहले

Xcode 15 या उच्चतर
डिप्लॉय टार्गेट iOS 15.1 या उच्चतर
STEP 01

Swift Package Manager के साथ जोड़ें

MapKit iOS के साथ शामिल है, इसलिए किसी अतिरिक्त खाता, कुंजी, या प्रारंभीकरण की आवश्यकता नहीं है। बस पैकेज जोड़ें।

Package URLSwift Package Manager
https://github.com/MapConductor/ios-for-mapkit
Package.swiftSwift
dependencies: [
    .package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
    .package(url: "https://github.com/MapConductor/ios-for-mapkit", from: "1.0.0"),
],
targets: [
    .target(
        name: "YourApp",
        dependencies: [
            .product(name: "MapConductorCore", package: "ios-sdk-core"),
            .product(name: "MapConductorForMapKit", package: "ios-for-mapkit"),
        ]
    ),
]
STEP 02

स्थान जानकारी अनुमति जोड़ें (यदि आवश्यक हो)

यदि आप स्थान जानकारी का उपयोग कर रहे हैं, तो Info.plist में उद्देश्य लिखें और ऐप से अनुमति मांगें।

Info.plistXML
<key>NSLocationWhenInUseUsageDescription</key>
<string>We need your location to display on the map</string>
LocationManager.swiftSwift
import CoreLocation

final class LocationManager: NSObject, ObservableObject, CLLocationManagerDelegate {
    private let manager = CLLocationManager()

    override init() {
        super.init()
        manager.delegate = self
    }

    func requestPermission() {
        manager.requestWhenInUseAuthorization()
    }
}

जाँच

आपको क्या दिखना चाहिए

नक्शा दिखाई देने और ज़ूम व पैन काम करने पर पूर्ण हो जाता है।

ContentView.swiftSwiftUI
import SwiftUI
import MapConductorCore
import MapConductorForMapKit

struct ContentView: View {
    @StateObject var mapState = MapKitViewState(
        mapDesignType: MapKitMapDesign.Standard,
        cameraPosition: MapCameraPosition(
            position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
            zoom: 12.0
        )
    )

    var body: some View {
        MapKitMapView(state: mapState)
            .ignoresSafeArea()
    }
}

मैप डिज़ाइन

MapKitMapDesign MKMapType के अनुरूप है।

MapKitMapDesign
Notes
Standard
मानक सड़क मानचित्र
Satellite
उपग्रह चित्र
Hybrid
उपग्रह चित्र + सड़कें और लेबल
MutedStandard
डेटा लोड करने के लिए हल्की शैली

समस्या निवारण

नक्शा नहीं दिखाई दे रहा है

  • जांचें कि डिप्लॉय टार्गेट iOS 15.1 या उच्चतर है या नहीं।
  • जांचें कि MapConductorForMapKit टार्गेट से लिंक है या नहीं।

बिल्ड विफल हो रहा है

  • बिल्ड फ़ोल्डर साफ़ करें (Cmd+Shift+K)।
  • ~/Library/Developer/Xcode/DerivedData हटाएं और पुनर्निर्माण करें।
  • Swift Package Manager निर्भरता अपडेट करें। CocoaPods के साथ उपयोग से बचें।

आगे

यदि आप केवल Apple प्लेटफ़ॉर्म को लक्षित करते हैं, तो किसी अतिरिक्त SDK या कुंजी की आवश्यकता नहीं होने के कारण वितरण आकार भी छोटा हो जाता है। वेब पर भी MapKit JS संस्करण प्रदाता उपयोग किया जा सकता है।