Hat*_*tim 6 apple-maps swiftui
我在 SwiftUI 3 和 Xcode 13+ 中使用 Map
import SwiftUI
import CoreLocation
import CoreLocationUI
import MapKit
Map(coordinateRegion: $mapViewModel.region,
interactionModes: [.all],
showsUserLocation: true,
userTrackingMode: .constant(.none),
annotationItems: annotations) { place in
MapAnnotation(coordinate: place.placemark.location!.coordinate) {
MapPinView()
}
}
.tint(.blue)
.environmentObject(mapViewModel)
.edgesIgnoringSafeArea(.all)
.onAppear {
mapViewModel.checkLocationServicesIsEnabled()
}
Run Code Online (Sandbox Code Playgroud)
所以,我在这里使用 Map(...)
有没有显示两点之间路线的示例?
谢谢
小智 1
从本教程https://www.youtube.com/watch?v=H6pmm62axCg
您可以在这里找到来源: https: //github.com/apatronl/YouTube/blob/main/Directions/Directions/ContentView.swift
这是相关的代码片段:
let request = MKDirections.Request()
request.source = MKMapItem(placemark: p1)
request.destination = MKMapItem(placemark: p2)
request.transportType = .automobile
let directions = MKDirections(request: request)
directions.calculate { response, error in
guard let route = response?.routes.first else { return }
mapView.addAnnotations([p1, p2])
mapView.addOverlay(route.polyline)
mapView.setVisibleMapRect(
route.polyline.boundingMapRect,
edgePadding: UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20),
animated: true)
self.directions = route.steps.map { $0.instructions }.filter { !$0.isEmpty }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3506 次 |
| 最近记录: |