如何从我的代码中打开地图应用以显示路线?

时间:2011-01-03 05:16:23

标签: iphone

HI ..我必须显示两个坐标之间的方向。我想打开地图应用,从我的代码传递开始和结束坐标。

我不想在谷歌地图中打开它,谷歌地图在浏览器(Safari)中打开。我试过那种方法。那是完美的。

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]];

但是,我想打开iPhone地图应用。我怎样才能做到这一点?这可能吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:6)

在真实设备上试用。我正在使用相同的代码,它在模拟器上打开Safari,在设备上打开iPhone地图。

答案 1 :(得分:1)

嘿西蒙你正在使用的方法是

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

只会打开safari。所以没有机会使用open url你会打开一个不同的东西。你可以使用UIWebView为此然后加载webview与url.I认为这将是这样的简单的事情

 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;

如果您甚至不想使用它,那么您可以使用XCode Frameworks中提供的MapKit。希望这对您有帮助。