我想从我的应用程序启动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];
有没有解决方案可以解决这个问题?
答案 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];
}