SwiftUI地图路线及额外停留

问题描述

如何实现一些额外的停止。现在,我的代码用户从req.source引导到req.destination。如何获得类似req.source-> req.firstStop-> req.destination的内容? MKDirections甚至是正确的使用方法吗?

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
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)