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.
Áður en þú byrjar
Fáðu API-lykil
- Opnaðu Google Cloud Console.
- Búðu til verkefni eða veldu eitt sem er til.
- Virkjaðu Maps SDK for iOS.
- Búðu til API-lykil undir Credentials.
- Takmarkaðu lykilinn við búnt-auðkenni forritsins.
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.
https://github.com/MapConductor/ios-for-googlemaps
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"),
]
),
]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.
import SwiftUI
import GoogleMaps
import MapConductorForGoogleMaps
@main
struct MyApp: App {
init() {
GMSServices.provideAPIKey("YOUR_GOOGLE_MAPS_API_KEY")
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}// Alternative: call it from the view's sdkInitialize closure
GoogleMapView(state: mapState, sdkInitialize: {
GMSServices.provideAPIKey("YOUR_GOOGLE_MAPS_API_KEY")
})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.
<key>NSLocationWhenInUseUsageDescription</key> <string>We need your location to display on the map</string>
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.
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.
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.