2015-11-03 69 views
0

當試圖在雨燕2.0採用MKDrectionsRequest,我得到的錯誤:無法設置源和目的地的MKDirectionsRequest在雨燕2.0

'Value of type 'MKDirectionsRequest' as no member 'setSource'

我的代碼如下所示:

let myRouteRequest = MKDirectionsRequest() 
myrouteRequest.transportType = .Automobile 
myRouteRequest.setSource(MKMapItem.mapItemForCurrentLocation()) 
myRouteRequest.setDestination(MKMapItem(myPlacemark)) 

FYI:我甚至不需要實際的方向,只是估計的駕駛時間和距離,所以如果有另一種方式獲得,請讓我知道。謝謝。

回答

3

你需要這些值分配給MKDirectionsRequestsource屬性:

myRouteRequest.source = MKMapItem.mapItemForCurrentLocation() 

這同樣適用於destination

myRouteRequest.destination = MKMapItem(placemark: myPlacemark) 

此外,你有一個錯字這裏:

myrouteRequest.transportType = .Automobile 

因爲它應該是:

myRouteRequest.transportType = .Automobile 
//Capital "R" is probably what you wanted to mean. 

至於獲得估計行駛時間和距離:

我們就需要先創建一個方向的要求:

let directions = MKDirections(request: myRouteRequest) 

directions.calculateDirectionsWithCompletionHandler 
{ 
    (response, error) -> Void in 

    if let routes = response?.routes where response?.routes.count > 0 && error == nil 
    { 
     let route : MKRoute = routes[0] 

     //distance calculated from the request 
     print(route.distance) 

     //travel time calculated from the request 
     print(route.expectedTravelTime) 
    } 
}