2014-02-21 86 views
1

我使用this教程來製作示例應用程序。它使用填充了包含位置的JSon文件的表格視圖。 在詳細視圖中,它使用一個Map併爲在表列表視圖中選定的位置放置一個針。MKdirections在兩個給定點之間繪製路線

我的問題是如何繪製當前用戶位置作爲起點和「位置」位置之間的路線作爲目的地?

我現在在我的地圖上有2個引腳:1)當前位置和2)目的地,但我不知道如何將它們與路線連接起來。用這兩個參數打開默認地圖應用程序不是一個選項。

在此先感謝您的每一個答案。

回答

9

使用下面的代碼:

 MKPlacemark *source = [[MKPlacemark alloc]initWithCoordinate:CLLocationCoordinate2DMake(sourceLatitude, sourceLongitude) addressDictionary:[NSDictionary dictionaryWithObjectsAndKeys:@"",@"", nil] ]; 
    MKMapItem *srcMapItem = [[MKMapItem alloc]initWithPlacemark:source]; 
    [srcMapItem setName:@""]; 

    MKPlacemark *destination = [[MKPlacemark alloc]initWithCoordinate:CLLocationCoordinate2DMake(destinationLatitude, destinationLongitude) addressDictionary:[NSDictionary dictionaryWithObjectsAndKeys:@"",@"", nil] ]; 

    MKMapItem *distMapItem = [[MKMapItem alloc]initWithPlacemark:destination]; 
    [distMapItem setName:@""]; 

    MKDirectionsRequest *request = [[MKDirectionsRequest alloc]init]; 
    [request setSource:srcMapItem]; 
    [request setDestination:distMapItem]; 
    [request setTransportType:MKDirectionsTransportTypeWalking]; 

    MKDirections *direction = [[MKDirections alloc]initWithRequest:request]; 

    [direction calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse *response, NSError *error) { 

     NSLog(@"response = %@",response); 
     NSArray *arrRoutes = [response routes]; 
     [arrRoutes enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 

      MKRoute *rout = obj; 

      MKPolyline *line = [rout polyline]; 
      [self.mkMapView addOverlay:line]; 
      NSLog(@"Rout Name : %@",rout.name); 
      NSLog(@"Total Distance (in Meters) :%f",rout.distance); 

      NSArray *steps = [rout steps]; 

      NSLog(@"Total Steps : %d",[steps count]); 

      [steps enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
       NSLog(@"Rout Instruction : %@",[obj instructions]); 
       NSLog(@"Rout Distance : %f",[obj distance]); 
      }]; 
     }]; 
    }]; 

欲瞭解更多信息,您可以檢查apple's documentation

+0

謝謝,完美的作品! – Lito

+0

@ SujithPt ..我上面試過..Response越來越(null)..!任何想法爲什麼它變得(空)..! – Vidhyanand

+0

是的,可以在這裏使用一點幫助 – Jargen89

相關問題