2013-03-22 13 views
6

Il mio obiettivo è aprire un'applicazione mappa dall'applicazione ios con le indicazioni stradali, sono in grado di aprire l'applicazione mappe ma non mostra indicazioni, ho scritto il codice come segueCome aprire un'applicazione apple maps con le indicazioni dalla mia applicazione ios

NSString *mystr=[[NSString alloc] initWithFormat:@"http://maps.apple.com/maps?saddr=Current+Location&daddr=Newyork"]; 
      NSURL *myurl=[[NSURL alloc] initWithString:mystr]; 
      [[UIApplication sharedApplication] openURL:myurl]; 

Qualcuno può aiutarmi come capire come passare parametri a questo URL e qualsiasi altro?

+0

si prega di guardare a questo link http://stackoverflow.com/questions/7605879/iphone-app-show-direction-using-map – Vinodh

risposta

11

se si intende prendere l'utente per l'applicazione Mappe basata su due punti, allora si può fare in questo modo:

Creare un NSURL che assomiglia a questo:

NSURL *URL = [NSURL URLWithString:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f"]; 

si collega il indirizzo di partenza e destinazione (in lat. e long.) opportunamente. Dillo l'applicazione per aprire l'URL

[[UIApplication sharedApplication] openURL:URL]; 

Esso si dovrebbero adottare per l'applicazione Mappe automaticamente!

+1

thanq molto Vinodh –

+1

risposta perfetta con meno linee di codice. –

22
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(self.location.latitude,self.location.longitude); 

//create MKMapItem out of coordinates 
MKPlacemark* placeMark = [[MKPlacemark alloc] initWithCoordinate:coordinate addressDictionary:nil]; 
MKMapItem* destination = [[MKMapItem alloc] initWithPlacemark:placeMark]; 
if([destination respondsToSelector:@selector(openInMapsWithLaunchOptions:)]) 
{ 
    //using iOS6 native maps app 
    if(_mode == 1) 
    { 
     [destination openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeWalking}]; 

    } 
    if(_mode == 2) 
    { 
     [destination openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving}]; 

    } 
    if(_mode == 3) 
    { 
     [destination openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeTransit}]; 

    } 

} else{ 

    //using iOS 5 which has the Google Maps application 
    NSString* url = [NSString stringWithFormat: @"http://maps.google.com/maps?saddr=Current+Location&daddr=%f,%f", self.location.latitude, self.location.longitude]; 
    [[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]]; 
} 
+3

Da dove viene la variabile '_mode'? – SimplGy

+0

cos'è '_mode' ????? – Vvk

+0

La tua variabile personale per scegliere cosa vuoi :) – nerowolfe

Problemi correlati