2011-01-03 3 views
6

HI .. Ich muss Richtungen zwischen zwei Koordinaten zeigen. Ich möchte die Google Maps App öffnen und die Start- und Endkoordinaten aus meinem Code übergeben.Wie öffne ich die Google Maps App von meinem Code aus, um Wegbeschreibungen anzuzeigen?

Ich will es nicht in den Google Maps öffnen, die in Browser öffnet (Safari). Ich habe diese Methode ausprobiert. Das hat perfekt funktioniert.

NSString* urlStr = [NSString stringWithFormat: @"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f", s_lat, s_long, d_lat, d_long]; 
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:urlStr]]; 

Aber ich möchte iPhone Maps App öffnen. Wie kann ich das machen? Ist das möglich? Jede Hilfe wird geschätzt.

+0

Jede Hilfe bitte! – EmptyStack

Antwort

6

Versuchen Sie es auf einem echten Gerät. Ich verwende den gleichen Code und es öffnet Safari am Simulator und iPhone Maps am Gerät.

+0

Oh .. Mein Gott .. Ich habe nicht einmal meine App im Gerät getestet, bevor ich eine Frage gestellt habe. Vergib meine Torheit. Vielen Dank für Ihre Antwort. – EmptyStack

1

Hey Simon die Methode, die Sie verwenden, ist

[[UIApplication sharedApplication] openURL: [NSURL URLWithString:urlStr]]; 

wird nur offen safari.So es keine Chance, dass mit offenen url Sie eine diiferent öffnen würde thing.You die UIWebView für diese und Last können dann die Webansicht mit dem url.I denkt, dass die einfache Sache wie diese

views=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)]; 
    [views setBackgroundColor:[UIColor lightGrayColor]]; 
    NSString* urlStr = [NSString stringWithFormat: @"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f", s_lat, s_long, d_lat, d_long]; 

    NSURL *url=[NSURL URLWithString:urlStr]; 
    NSURLRequest *req=[NSURLRequest requestWithURL:url]; 
    //[views loadHTMLString:googlePage baseURL:requestURL]; 
    [views loadRequest:req]; 
    self.view=views; 

wäre Und selbst wenn Sie dies nicht wollen, dann verwenden, dann können Sie die MapKit in Ihrem XCode Frameworks.Hope bereitgestellt verwenden würde dies dir helfen.

Verwandte Themen