MapKit - MKDirectionsRequest() 的传输类型不工作
MapKit - transit type for MKDirectionsRequest() not Working
现在我正在用 Swift 做一些不错的事情 3,我希望:计算 2 个地方之间的路线。
我正在使用 Xcode 模拟器。
我可以开车、步行或乘公交车计算。
这是我的:
mapview.delegate = self
let request = MKDirectionsRequest()
request.source = MKMapItem(placemark: MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 40.203314, longitude: -8.410257), addressDictionary: nil))
request.destination = MKMapItem(placemark: MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 40.112808, longitude: -8.498689), addressDictionary: nil))
request.requestsAlternateRoutes = false
//request.transportType = .automobile
request.transportType = .transit
let directions = MKDirections(request: request)
directions.calculate { [unowned self] response, error in
guard let unwrappedResponse = response else { return }
for route in unwrappedResponse.routes {
self.mapview.add(route.polyline)
self.mapview.setVisibleMapRect(route.polyline.boundingMapRect, animated: true)
print("Distance: \(route.distance/1000) m")
print("ETA: \(route.expectedTravelTime/60) min")
for step in route.steps {
print(step.instructions)
}
}
}
我已经设置了密码,无论是驾车还是步行,一切都适用。但是,中转选项没有任何作用。
这是为什么?
运输类型 .transit 没有方向,很遗憾,只有 ETA
现在我正在用 Swift 做一些不错的事情 3,我希望:计算 2 个地方之间的路线。 我正在使用 Xcode 模拟器。 我可以开车、步行或乘公交车计算。
这是我的:
mapview.delegate = self
let request = MKDirectionsRequest()
request.source = MKMapItem(placemark: MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 40.203314, longitude: -8.410257), addressDictionary: nil))
request.destination = MKMapItem(placemark: MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 40.112808, longitude: -8.498689), addressDictionary: nil))
request.requestsAlternateRoutes = false
//request.transportType = .automobile
request.transportType = .transit
let directions = MKDirections(request: request)
directions.calculate { [unowned self] response, error in
guard let unwrappedResponse = response else { return }
for route in unwrappedResponse.routes {
self.mapview.add(route.polyline)
self.mapview.setVisibleMapRect(route.polyline.boundingMapRect, animated: true)
print("Distance: \(route.distance/1000) m")
print("ETA: \(route.expectedTravelTime/60) min")
for step in route.steps {
print(step.instructions)
}
}
}
我已经设置了密码,无论是驾车还是步行,一切都适用。但是,中转选项没有任何作用。
这是为什么?
运输类型 .transit 没有方向,很遗憾,只有 ETA