2013-05-27 32 views
0

我在應用程序中使用了以下代碼,但它會打開新窗口並顯示從當前位置到目的地的路線。顯示從當前位置到目標位置的路線,而不會在iOS中啓動任何網址

代碼:

NSURL *url = [NSURL URLWithString:urlAddress]; 
    [[UIApplication sharedApplication] openURL:url]; 
    NSString *urlString = [NSString stringWithFormat:@"http://maps.apple.com/maps?  daddr=%f,%f&saddr=%f,%f",12.8400,77.6700, 12.9610850,77.604692699999990]; 

NSString *escapedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

    NSURL *url=[NSURL URLWithString:escapedString]; 
    [[UIApplication sharedApplication]openURL:url]; 

,但我的要求是,以顯示從當前位置到目的地位置的路線,而無需啓動任何URL。

回答

0

我想你可以使用WebView並在其中加載該網址。

1

你需要申請例如方向來自谷歌

http://maps.googleapis.com/maps/api/directions/json?origin=%f,%f&destination=%f,%f&sensor=true&mode=%@&departure_time=%ld 

,然後得到從收到的JSON的路線和寫在地圖上的路徑。

+1

只是想添加到nerowolfe的答案。 Google Direction的API會返回JSON結果,其中一部分結果包括需要解碼的base64編碼折線。您還可以獲得文本方向,如「在XYZ街左轉,開車300米..」等。其他內容包括JSON內的腿和步數。請注意,谷歌協議其API只適用於谷歌地圖,並且不允許在非谷歌地圖上使用。在這種情況下,您可能可以使用Google的Map Framework工具,或者您可以將目標iOS設置爲5.0,這是最後一個Google地圖iOS版本:D – Zhang

0

您可以使用UIWebView和它

NSString *urlString = [NSString stringWithFormat:@"http://maps.apple.com/maps? daddr=%f,%f&saddr=%f,%f",12.8400,77.6700, 12.9610850,77.604692699999990]; 

NSString *escapedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

NSURL *url=[NSURL URLWithString:escapedString]; 
[webveiew loadRequest : [NSURLRequest requestwithURL:url]]; 
0

使用谷歌地圖API的加載上述URL。閱讀他們的文檔。它的幫助。我曾在我的應用程序中使用它。

相關問題