Google地图首次发布时“找不到路线”

时间:2014-02-04 16:30:11

标签: ios objective-c google-maps

我想从我的应用程序启动Google地图,使用以下代码从我的位置导航到地址:

NSString *myAddress = [[NSString stringWithFormat:@"comgooglemaps://?daddr=Paris,France"] stringByAddingPercentEscapesUsingEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:myAddress]];

如果执行该代码,如果谷歌地图尚未在后台打开,则会显示“无路线位置”,否则会找到路线。 在这两种情况下,我有相同的开始(默认情况下为“我的位置”)和结束点。 如果我指定一个起点没问题,例如:

NSString *myAddress = [[NSString stringWithFormat:@"comgooglemaps://?saddr=Cannes,France&daddr=Paris,France"] stringByAddingPercentEscapesUsingEncoding];

有没有解决方案可以解决这个问题?

1 个答案:

答案 0 :(得分:1)

结帐此链接,可能会有所帮助。       google map developer ios

从当前位置获取方向。   1-首先通过位置管理器获取您当前的位置。   2-将它添加到url中作为saddr //这是你在第二行做的(静态起始地址)   3-然后添加目的地

试试这个

NSString *location=[NSString stringWithFormat:@"%f,%f",self.locationManager.location.coordinate.latitude.latitude,self.locationManager.location.coordinate.latitude.longitude];

if ([[UIApplication sharedApplication] canOpenURL:
     [NSURL URLWithString:@"comgooglemaps://"]]) {
    [[UIApplication sharedApplication] openURL:
     //[NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
     [NSURL URLWithString:[NSString stringWithFormat:@"comgooglemaps://?saddr=&daddr=%@&directionsmode=%@&views=satellite",location,mode]]
     ];
} else {

    [[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Google Map app not found \n please install it." delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Install", nil] show];
}