Skjölun / Uppsetning / iOS / MapLibre

Uppsetning á MapLibre

Hvernig stýra má MapLibre Native gegnum MapConductor. Það þarf engan API-lykil og er fljótasti þjónustuaðilinn að koma í gang; útlit kortsins kemur frá því hvaðan stíl-JSON er borið fram.

PACKAGE
ios-for-maplibre
API KEY
Enginn
MIN iOS
15.1
VIEW
MapLibreMapView
Sami þjónustuaðili, aðrir vettvangarAndroidReact

Áður en þú byrjar

Xcode 15 eða nýrra
Útgáfumarkmið iOS 15.1 eða síðar
STEP 01

Bættu því við með Swift Package Manager

Notaðu File > Add Package Dependencies í Xcode og límdu inn slóð pakkans. MapLibre Native SDK kemur sjálfkrafa með sem viðfang.

Package URLSwift Package Manager
https://github.com/MapConductor/ios-for-maplibre
Package.swiftSwift
dependencies: [
    .package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
    .package(url: "https://github.com/MapConductor/ios-for-maplibre", from: "1.0.0"),
],
targets: [
    .target(
        name: "YourApp",
        dependencies: [
            .product(name: "MapConductorCore", package: "ios-sdk-core"),
            .product(name: "MapConductorForMapLibre", package: "ios-for-maplibre"),
        ]
    ),
]
STEP 02

Veldu stíl

MapLibre sjálft hefur hvorki aðgang né lykil — en þú velur hvaðan flísarnar koma. Með viðskiptalegri þjónustu á borð við MapTiler er lykill þess þjónustuaðila settur inn í slóð stíl-JSON-sins. MapConductor kemur hvergi nálægt auðkenningu gagnvart flísaveitanda.

ContentView.swiftSwift
// Built-in presets
mapState.mapDesignType = MapLibreDesign.OsmBright
mapState.mapDesignType = MapLibreDesign.OsmBrightJa
mapState.mapDesignType = MapLibreDesign.MapTilerTonerEn
mapState.mapDesignType = MapLibreDesign.DemoTiles
VARÚÐ
Kynningarstílarnir eru aðeins til prófunar. Í raunnotkun skaltu nota þínar eigin eða viðskiptalegar flísar og birta þá heimildatilvísun sem veitandinn krefst.
STEP 03

Bættu við staðsetningarheimild (ef þarf)

Ef þú notar staðsetningu skaltu lýsa tilganginum í Info.plist og biðja um heimild í forritinu.

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 kortið með stíl. Hlaðist flísarnar og aðdráttur og hliðrun virka ertu búin/n.

ContentView.swiftSwiftUI
import SwiftUI
import MapConductorCore
import MapConductorForMapLibre

struct ContentView: View {
    @StateObject var mapState = MapLibreViewState(
        mapDesignType: MapLibreDesign.OsmBright,
        cameraPosition: MapCameraPosition(
            position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
            zoom: 12.0
        )
    )

    var body: some View {
        MapLibreMapView(state: mapState)
            .ignoresSafeArea()
    }
}

Kortahönnun

Hvert MapLibreDesign vefur vefslóð á stíl-JSON. Til að nota þinn eigin stíl skaltu smíða gerðina beint.

MapLibreDesign
Notes
DemoTiles
Léttar kynningarflísar
OsmBright / OsmBrightEn / OsmBrightJa
OSM Bright, með sjálfgefnum, enskum og japönskum merkingum
MapTilerTonerEn / MapTilerTonerJa
Toner-stíllinn með mikilli birtuskilum
MapTilerBasicEn / MapTilerBasicJa
Einfaldaði Basic-stíllinn

Bilanaleit

Kortið helst autt

  • Athugaðu að slóðin á stíl-JSON að baki völdu MapLibreDesign sé aðgengileg.
  • Ef þú notar flísaveitanda skaltu staðfesta að lykillinn í slóðinni sé enn gildur.
  • Athugaðu að útgáfumarkmiðið sé iOS 15.1 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

Með MapLibreMapView á skjánum fara yfirlögin á gegnum sama sameiginlega API og hjá öllum öðrum þjónustuaðilum.