SwiftUI地图路线和额外站点
我如何实现一些额外的停止。现在,我的代码引导用户从req.source到req.destination。如何获得req.source->req.firstStop->req.destination这样的内容? 使用MKDirections是正确的吗SwiftUI地图路线和额外站点,swift,swiftui,mapkit,mkdirection,Swift,Swiftui,Mapkit,Mkdirection,我如何实现一些额外的停止。现在,我的代码引导用户从req.source到req.destination。如何获得req.source->req.firstStop->req.destination这样的内容? 使用MKDirections是正确的吗 struct MapView: UIViewRepresentable { @Binding var showCompass: Bool @Binding var centerOnMe: Bool var location
struct MapView: UIViewRepresentable {
@Binding var showCompass: Bool
@Binding var centerOnMe: Bool
var locationManager = CLLocationManager()
func setupManager() {
locationManager.desiredAccuracy = kCLLocationAccuracyReduced
locationManager.requestWhenInUseAuthorization()
}
func makeUIView(context: Context) -> MKMapView {
let mapView = MKMapView()
setupManager()
mapView.isRotateEnabled = true
mapView.delegate = context.coordinator
mapView.showsUserLocation = true
mapView.userTrackingMode = MKUserTrackingMode.follow
let latDelta:CLLocationDegrees = 0.1
let lonDelta:CLLocationDegrees = 0.1
let span = MKCoordinateSpan(latitudeDelta: latDelta, longitudeDelta: lonDelta)
let region = MKCoordinateRegion(center: locationManager.location!.coordinate, span: span)
mapView.setRegion(region, animated: true)
let destinationCoordinate = CLLocationCoordinate2D(latitude: 47.55, longitude: 8.29629555)
let sourceCoordinate = locationManager.location!.coordinate
let destinationPin = MKPointAnnotation()
destinationPin.coordinate = destinationCoordinate
destinationPin.title = "Migros"
mapView.addAnnotation(destinationPin)
let req = MKDirections.Request()
req.transportType = .walking
req.source = MKMapItem(placemark: MKPlacemark(coordinate: sourceCoordinate))
req.destination = MKMapItem(placemark: MKPlacemark(coordinate: destinationCoordinate))
let directions = MKDirections(request: req)
directions.calculate {(direct, err) in
if err != nil {
print((err?.localizedDescription)!)
return
}
let polyline = direct?.routes.first?.polyline
mapView.addOverlay(polyline!)
}
return mapView
}