我希望創建一個可以計算出A點之間的行駛距離,以點B.我知道CLLocation
有distanceFromLocation:
來計算2點之間的距離的應用程序,但它從A點僅計算直線B.它有辦法計算2點之間的駕駛距離?怎麼樣?任何樣品?如何獲得兩點之間的駕駛距離?
感謝
我希望創建一個可以計算出A點之間的行駛距離,以點B.我知道CLLocation
有distanceFromLocation:
來計算2點之間的距離的應用程序,但它從A點僅計算直線B.它有辦法計算2點之間的駕駛距離?怎麼樣?任何樣品?如何獲得兩點之間的駕駛距離?
感謝
我不認爲存在任何的iOS功能,distanceFromLocation
給出兩個座標之間的空氣距離。
而且是你可以使用google APIS計算道路的距離。
不幸的是你必須爲這個api付費(如果你有體面的使用) –
斯威夫特3:
func routingDistance(userNotation: CLLocation, destinationLocation: Location, completion: @escaping (CLLocationDistance) -> Void) {
let request:MKDirectionsRequest = MKDirectionsRequest()
// source and destination are the relevant MKMapItems
let sourceS = CLLocationCoordinate2D(latitude: userNotation.coordinate.latitude, longitude: userNotation.coordinate.longitude)
let destinationD = CLLocationCoordinate2D(latitude: destinationLocation.coordinate.latitude, longitude: destinationLocation.coordinate.longitude)
let sourcePM = MKPlacemark(coordinate: sourceS)
let destinationPM = MKPlacemark(coordinate: destinationD)
request.source = MKMapItem(placemark: sourcePM)
request.destination = MKMapItem(placemark: destinationPM)
// Specify the transportation type
request.transportType = MKDirectionsTransportType.automobile;
// If you're open to getting more than one route,
// requestsAlternateRoutes = true; else requestsAlternateRoutes = false;
request.requestsAlternateRoutes = true
let directions = MKDirections(request: request)
directions.calculate { (response, error) in
if let response = response, let route = response.routes.first {
completion(route.distance)
}
}
}
不能談論它,因爲NDA的,但看iOS7 MapKit變化。 –