2013-07-18 130 views
1

我希望創建一個可以計算出A點之間的行駛距離,以點B.我知道CLLocationdistanceFromLocation:來計算2點之間的距離的應用程序,但它從A點僅計算直線B.它有辦法計算2點之間的駕駛距離?怎麼樣?任何樣品?如何獲得兩點之間的駕駛距離?

感謝

+0

不能談論它,因爲NDA的,但看iOS7 MapKit變化。 –

回答

2

我不認爲存在任何的iOS功能,distanceFromLocation給出兩個座標之間的空氣距離。

而且是你可以使用google APIS計算道路的距離。

+0

不幸的是你必須爲這個api付費(如果你有體面的使用) –

0

斯威夫特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) 
     } 
    } 
} 
相關問題