Skjölun / Uppsetning / iOS / ArcGIS

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.

PACKAGE
ios-for-arcgis
API KEY
Nauðsynlegt
MIN iOS
17.0
VIEW
ArcGISMapView / 2D
Sami þjónustuaðili, aðrir vettvangarAndroidReact

Áður en þú byrjar

Xcode 15 eða nýrra
ArcGIS-forritaraaðgangur
ArcGIS-API-lykill
Útgáfumarkmið iOS 17.0 eða síðar
STEP 01

Fáðu API-lykil

  1. Opnaðu ArcGIS Location Platform eða ArcGIS Developers.
  2. Búðu til API-lykil fyrir verkefnið þitt.
  3. Virkjaðu þær ArcGIS-þjónustur sem þú þarft — grunnkort, staðsetningarleit, leiðaútreikning.
  4. Takmarkaðu lykilinn við það sem forritið þitt gerir í raun.
STEP 02

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.

Package URLSwift Package Manager
https://github.com/MapConductor/ios-for-arcgis
Package.swiftSwift
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"),
        ]
    ),
]
STEP 03

Frumstilltu SDK-ið

Kallaðu á arcGISApiKeyInitialize(apiKey:) nákvæmlega einu sinni, áður en nokkur kortasýn verður til.

MyApp.swiftSwift
import SwiftUI
import MapConductorForArcGIS

@main
struct MyApp: App {
    init() {
        _ = arcGISApiKeyInitialize(apiKey: "YOUR_ARCGIS_API_KEY")
    }

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
ContentView.swiftSwift
// Alternative: call it from the view's sdkInitialize closure
ArcGISMapView(state: mapState, sdkInitialize: {
    _ = arcGISApiKeyInitialize(apiKey: "YOUR_ARCGIS_API_KEY")
})
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á

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.

ContentView.swiftSwiftUI
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:).

ArcGISDesign
Notes
Streets
Staðlaða götukortið
Imagery
Gervihnattamyndir
Topographic
Landslagskort
OsmStandard
Staðalstíll OpenStreetMap
NavigationNight
Næturleiðsögn
DarkGray
Bakgrunnar fyrir þín eigin gögn

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.