Skjölun / Uppsetning / iOS / Google Maps

Uppsetning á Google Maps

Hvernig stýra má Google Maps SDK for iOS gegnum MapConductor. Veldu þennan þjónustuaðila þegar forritið þitt reiðir sig þegar á Google Maps, eða þegar þú þarft kortategundirnar á GoogleMapDesign.

PACKAGE
ios-for-googlemaps
API KEY
Nauðsynlegt
MIN iOS
16.0
VIEW
GoogleMapView
Sami þjónustuaðili, aðrir vettvangarAndroidReact

Áður en þú byrjar

Xcode 15 eða nýrra
Aðgangur að Google Cloud Console
Google Cloud-verkefni með Maps SDK for iOS virkjað
Útgáfumarkmið iOS 16.0 eða síðar
STEP 01

Fáðu API-lykil

  1. Opnaðu Google Cloud Console.
  2. Búðu til verkefni eða veldu eitt sem er til.
  3. Virkjaðu Maps SDK for iOS.
  4. Búðu til API-lykil undir Credentials.
  5. Takmarkaðu lykilinn við búnt-auðkenni forritsins.
STEP 02

Bættu því við með Swift Package Manager

Notaðu File > Add Package Dependencies í Xcode og límdu inn slóð pakkans. Innbyggða SDK-ið kemur með sem afleitt viðfang — þú bætir því ekki við sérstaklega.

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

Frumstilltu SDK-ið

Kallaðu á GMSServices.provideAPIKey(_:) nákvæmlega einu sinni, áður en nokkur kortasýn verður til. @main-App-strúktúran er ráðlagði staðurinn.

MyApp.swiftSwift
import SwiftUI
import GoogleMaps
import MapConductorForGoogleMaps

@main
struct MyApp: App {
    init() {
        GMSServices.provideAPIKey("YOUR_GOOGLE_MAPS_API_KEY")
    }

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
ContentView.swiftSwift
// Alternative: call it from the view's sdkInitialize closure
GoogleMapView(state: mapState, sdkInitialize: {
    GMSServices.provideAPIKey("YOUR_GOOGLE_MAPS_API_KEY")
})
VARÚÐ
Ekki harðkóða API-lykilinn í frumkóða. Skjóttu honum inn við smíði úr xcconfig eða umhverfisbreytu og haltu honum utan við geymsluna.
STEP 04

Bættu við staðsetningarheimild (ef þarf)

Ef þú notar staðsetningarþjónustu með Google Maps skaltu lýsa tilganginum í Info.plist og biðja um heimild í forritinu.

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()
    }
}

STAÐFESTA

Það sem þú ættir að sjá

Smíðaðu og keyrðu þennan ContentView. Ef kortið teiknast og aðdráttur og hliðrun virka ertu búin/n.

ContentView.swiftSwiftUI
import SwiftUI
import MapConductorCore
import MapConductorForGoogleMaps

struct ContentView: View {
    @StateObject var mapState = GoogleMapViewState(
        cameraPosition: MapCameraPosition(
            position: GeoPoint(latitude: 35.6762, longitude: 139.6503),
            zoom: 12.0
        )
    )

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

Kortahönnun

GoogleMapDesign varpast á kortategundir Google.

GoogleMapDesign
Notes
Normal
Venjulega vegakortið
Satellite
Gervihnattamyndir
Hybrid
Gervihnattamyndir með vegum og merkingum
Terrain
Landslagskort

Bilanaleit

Kortið birtist ekki (grár skjár)

  • Staðfestu að GMSServices.provideAPIKey(_:) keyri áður en nokkur kortasýn verður til.
  • Athugaðu að Maps SDK for iOS sé virkjað í Console.
  • Staðfestu að búnt-auðkennistakmörkun lykilsins passi við raunverulegt búnt-auðkenni.
  • Athugaðu að útgáfumarkmiðið sé iOS 16.0 eða síðar.

Smíðin bregst

  • Hreinsaðu smíðamöppuna (Cmd+Shift+K).
  • Eyddu ~/Library/Developer/Xcode/DerivedData og smíðaðu aftur.
  • Endurnýjaðu viðföngin í Swift Package Manager, og forðastu að blanda CocoaPods saman við.

Næst

Þegar GoogleMapView teiknast nota merki, fjöllínur og hringir sameiginlega API-ið — skipti um þjónustuaðila endurskrifa þau ekki.