Uppsetning á HERE
Hvernig stýra má HERE SDK gegnum MapConductor. Frumstillingin tekur par: aðgangslyklaauðkenni og leyndarmál.
Áður en þú byrjar
Náðu í auðkennin
- Opnaðu HERE Platform.
- Búðu til verkefni eða veldu eitt sem er til.
- Búðu til aðgangslykil fyrir HERE SDK.
- Afritaðu aðgangslyklaauðkennið og leyndarmálið.
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-here
dependencies: [
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
.package(url: "https://github.com/MapConductor/ios-for-here", from: "1.0.0"),
],
targets: [
.target(
name: "YourApp",
dependencies: [
.product(name: "MapConductorCore", package: "ios-sdk-core"),
.product(name: "MapConductorForHERE", package: "ios-for-here"),
]
),
]Frumstilltu SDK-ið
Kallaðu á initializeHERE(accessKeyId:accessKeySecret:) nákvæmlega einu sinni, áður en nokkur kortasýn verður til. Fallið kastar villu — ekki kæfa hana.
import SwiftUI
import MapConductorForHERE
@main
struct MyApp: App {
init() {
do {
try initializeHERE(
accessKeyId: "YOUR_HERE_ACCESS_KEY_ID",
accessKeySecret: "YOUR_HERE_ACCESS_KEY_SECRET"
)
} catch {
assertionFailure("Failed to initialize HERE SDK: \(error)")
}
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}// Alternative: call it from the view's sdkInitialize closure
HereMapView(state: mapState, sdkInitialize: {
try? initializeHERE(
accessKeyId: "YOUR_HERE_ACCESS_KEY_ID",
accessKeySecret: "YOUR_HERE_ACCESS_KEY_SECRET"
)
})Bættu við staðsetningarheimild (ef þarf)
Ef þú notar staðsetningarþjónustu með HERE SDK skaltu lýsa tilganginum í Info.plist.
<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á
Þú ert búin/n þegar HERE-kortið teiknast og aðdráttur og hliðrun virka.
import SwiftUI
import MapConductorCore
import MapConductorForHERE
struct ContentView: View {
@StateObject var mapState = HereMapViewState(
mapDesignType: HereMapDesign.NormalDay,
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
zoom: 12.0
)
)
var body: some View {
HereMapView(state: mapState)
.ignoresSafeArea()
}
}Kortahönnun
HereMapDesign varpast á kortaskemu HERE.
Bilanaleit
Kortið helst autt
- Athugaðu aðgangslyklaauðkennið og leyndarmálið.
- Staðfestu að initializeHERE keyri áður en kortasýnin verður til.
- Gríptu villuna sem frumstillingin kastar og skráðu hvað hún segir.
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
Merki, fjöllínur, marghyrningar, hringir, jarðmyndir, rasterlög og upplýsingablöðrur virka öll gegnum sameiginlega API-ið. HERE styður ekki göt í marghyrningum innbyggt, svo MapConductor teiknar þau með flísum sem búnar eru til sem gríma — kallstaðirnir þínir haldast eins og hjá öðrum þjónustuaðilum.