Uppsetning á ArcGIS
Hvernig stýra má ArcGIS Maps SDK for Swift gegnum MapConductor: veldu grunnkort með ArcGISDesign og veldu milli 3D- og 2D-sýnar.
Áður en þú byrjar
Fáðu API-lykil
- Opnaðu ArcGIS Location Platform eða ArcGIS Developers.
- Búðu til API-lykil fyrir verkefnið þitt.
- Virkjaðu þær ArcGIS-þjónustur sem þú þarft — grunnkort, staðsetningarleit, leiðaútreikning.
- Takmarkaðu lykilinn við það sem forritið þitt gerir í raun.
Bættu því við með Swift Package Manager
Notaðu File > Add Package Dependencies í Xcode og límdu inn slóð pakkans. ArcGIS Maps SDK for Swift kemur sjálfkrafa með sem viðfang.
https://github.com/MapConductor/ios-for-arcgis
dependencies: [
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
.package(url: "https://github.com/MapConductor/ios-for-arcgis", from: "1.0.0"),
],
targets: [
.target(
name: "YourApp",
dependencies: [
.product(name: "MapConductorCore", package: "ios-sdk-core"),
.product(name: "MapConductorForArcGIS", package: "ios-for-arcgis"),
]
),
]Frumstilltu SDK-ið
Kallaðu á arcGISApiKeyInitialize(apiKey:) nákvæmlega einu sinni, áður en nokkur kortasýn verður til.
import SwiftUI
import MapConductorForArcGIS
@main
struct MyApp: App {
init() {
_ = arcGISApiKeyInitialize(apiKey: "YOUR_ARCGIS_API_KEY")
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}// Alternative: call it from the view's sdkInitialize closure
ArcGISMapView(state: mapState, sdkInitialize: {
_ = arcGISApiKeyInitialize(apiKey: "YOUR_ARCGIS_API_KEY")
})Bættu við staðsetningarheimild (ef þarf)
Ef þú notar staðsetningu 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á
Teiknaðu 3D-sýnina. Réttu sama stöðuhlut til ArcGISMapView2D fyrir tvívíða kortið. Virkur aðdráttur, hliðrun og — í 3D — halli þýðir að þú ert búin/n.
import SwiftUI
import MapConductorCore
import MapConductorForArcGIS
struct ContentView: View {
@StateObject var mapState = ArcGISMapViewState(
mapDesignType: ArcGISDesign.Streets,
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
zoom: 12.0
)
)
var body: some View {
// 3D scene view; ArcGISMapView2D takes the very same state
ArcGISMapView(state: mapState)
.ignoresSafeArea()
}
}Kortahönnun
ArcGISDesign varpast á grunnkort Esri; smíðaðu eitt út frá þekktu auðkenni með ArcGISDesign.Create(id:).
Bilanaleit
Kortið helst autt
- Staðfestu að arcGISApiKeyInitialize(apiKey:) keyri áður en kortasýnin verður til.
- Athugaðu að lykillinn hafi þær ArcGIS-þjónustur virkjaðar sem þú þarft.
- Athugaðu að útgáfumarkmiðið sé iOS 17.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
ArcGISMapView er 3D-sýnin, ArcGISMapView2D sú tvívíða — og þær deila stöðuhlut.