Skjölun / Uppsetning / iOS / Mapbox
Uppsetning á Mapbox
Hvernig stýra má Mapbox Maps SDK for iOS gegnum MapConductor. Veldu það þegar forritið þitt reiðir sig þegar á Mapbox, eða þegar þú þarft stílslóðir Mapbox.
PACKAGE
ios-for-mapbox
API KEY
Aðgangsteikn
MIN iOS
17.0
VIEW
MapboxMapView
Áður en þú byrjar
Xcode 15 eða nýrra
Mapbox-aðgangur (ókeypis eða greiddur)
Opinbert aðgangsteikn með maps:read-sviðinu
Útgáfumarkmið iOS 17.0 eða síðar
STEP 01
Fáðu aðgangsteikn
- Stofnaðu Mapbox-aðgang eða skráðu þig inn.
- Afritaðu sjálfgefna opinbera teiknið undir Tokens.
- Eða búðu til nýtt teikn sem ber maps:read-sviðið.
VARÚÐ
Sendu aldrei leyniteikn með forriti — forrit nota opinbera teiknið.
STEP 02
Bættu því við með Swift Package Manager
Notaðu File > Add Package Dependencies í Xcode og límdu inn slóð pakkans. Mapbox Maps SDK kemur sjálfkrafa með sem viðfang.
Package URLSwift Package Manager
https://github.com/MapConductor/ios-for-mapbox
Package.swiftSwift
dependencies: [
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
.package(url: "https://github.com/MapConductor/ios-for-mapbox", from: "1.0.0"),
],
targets: [
.target(
name: "YourApp",
dependencies: [
.product(name: "MapConductorCore", package: "ios-sdk-core"),
.product(name: "MapConductorForMapbox", package: "ios-for-mapbox"),
]
),
]STEP 03
Frumstilltu SDK-ið
Kallaðu á initializeMapbox(accessToken:) nákvæmlega einu sinni, áður en nokkur kortasýn verður til.
MyApp.swiftSwift
import SwiftUI
import MapConductorForMapbox
@main
struct MyApp: App {
init() {
initializeMapbox(accessToken: "YOUR_MAPBOX_PUBLIC_TOKEN")
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}ContentView.swiftSwift
// Alternative: call it from the view's sdkInitialize closure
MapboxMapView(state: mapState, sdkInitialize: {
initializeMapbox(accessToken: "YOUR_MAPBOX_PUBLIC_TOKEN")
})STEP 04
Bættu við staðsetningarheimild (ef þarf)
Ef þú notar staðsetningu skaltu lýsa tilganginum í 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()
}
}STAÐFESTA
Það sem þú ættir að sjá
Þú ert búin/n þegar kortið teiknast í Mapbox-stíl og aðdráttur og hliðrun virka.
ContentView.swiftSwiftUI
import SwiftUI
import MapConductorCore
import MapConductorForMapbox
struct ContentView: View {
@StateObject var mapState = MapboxViewState(
mapDesignType: MapboxMapDesign.Standard,
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
zoom: 12.0
)
)
var body: some View {
MapboxMapView(state: mapState)
.ignoresSafeArea()
}
}Kortahönnun
MapboxMapDesign nær yfir staðalstíla Mapbox; beindu því á þinn eigin með MapboxMapDesign.custom(styleURI:).
MapboxMapDesign
Notes
Standard
Sjálfgefni staðalstíllinn
Streets
Götustíllinn
SatelliteStreets
Gervihnattamyndir með vegum og merkingum
Dark
Dökki stíllinn
Bilanaleit
Kortið helst autt
- Staðfestu að initializeMapbox(accessToken:) keyri áður en kortasýnin verður til.
- Athugaðu að teiknið beri maps:read-sviðið.
- Athugaðu að útgáfumarkmiðið sé iOS 17.0 eða síðar.
„Invalid access token“ birtist
- Athugaðu gildi teiknisins aftur og hvort það hafi verið afturkallað.
- Gakktu úr skugga um að þú notir opinbera teiknið, ekki leyniteikn.
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
Með MapboxMapView á skjánum fara yfirlögin á gegnum sama sameiginlega API og hjá öllum öðrum þjónustuaðilum.