问题描述
如何实现一些额外的停止。现在,我的代码将用户从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 (将#修改为@)