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.
Áður en þú byrjar
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.
https://github.com/MapConductor/ios-for-maplibre
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"),
]
),
]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.
// Built-in presets mapState.mapDesignType = MapLibreDesign.OsmBright mapState.mapDesignType = MapLibreDesign.OsmBrightJa mapState.mapDesignType = MapLibreDesign.MapTilerTonerEn mapState.mapDesignType = MapLibreDesign.DemoTiles
Bættu við staðsetningarheimild (ef þarf)
Ef þú notar staðsetningu skaltu lýsa tilganginum í Info.plist og biðja um heimild í forritinu.
<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 kortið með stíl. Hlaðist flísarnar og aðdráttur og hliðrun virka ertu búin/n.
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.
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.