2013-05-27 31 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。阅读他们的文档。它的帮助。我曾在我的应用程序中使用它。

相关问题