如何打开谷歌地图导航url在iOS中的方向和声音?

我是新手在iOS我想做一个应用程序,包含地图工具包navigation.i要打开谷歌地图的导航url,如果用户设备有谷歌地图应用程序。 如果它不包含那么我想打开苹果地图在这里,我写了一个类似的代码

-(IBAction)navigationButtonPressed:(id)sender { if ([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://"]]) { NSString *urlString=[NSString stringWithFormat:@"comgooglemaps://?center=%f,%f&zoom=14&views=traffic",self.latitude,self.longitude]; [[UIApplication sharedApplication] openURL: [NSURL URLWithString:urlString]]; } else { NSString *string = [NSString stringWithFormat:@"http://maps.apple.com/?ll=%f,%f",self.latitude,self.longitude]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:string]]; } } 

但是,在这里,我想打开谷歌地图或苹果地图与用户之间的转动方向用户当前位置和选定的位置如何可能请给我解决scheme为此。

对于Google地图你需要做这样的事情:

使用此scheme请求并显示两个位置之间的方向。 您也可以指定运输模式。

参数 saddr:设置路线search的起点。 这可以是纬度,经度或查询格式的地址。 如果它是返回多个结果的查询string,则会select第一个结果。 如果该值留空,则将使用用户的当前位置。 daddr:设置路线search的终点。 与saddr具有相同的格式和行为。 方向:运输方式。 可以设置:驾驶,运输,骑自行车或步行。

下面是一个示例url,用于显示Google NYC和JFK机场之间的公交路线:

comgooglemaps:// SADDR =谷歌+公司+ 8 +大道+新+纽约,+ NY&DADDR =约翰+ F. +肯尼迪+国际+机场+凡+威克+高速公路+牙买加+新+纽约与directionsmode =过境

在这里输入图像说明

一些额外的例子如下:

“comgooglemaps:// SADDR =谷歌,+ 1600 +剧场+大路,+山+景观+ CA + 94043&DADDR =谷歌+公司+ 345 +矛+街+三+旧金山+ CA与中心= 37.422185,-122.083898 &变焦= 10"

?“comgooglemaps:// SADDR = 2025 +加西亚+大道,+山+景观+ CA,+美国和DADDR =谷歌,+ 1600 +剧场+大路,+山+景观+ CA,+美国与中心= 37.423725, – 122.0877&directionsmode =步行&变焦= 17"

参考

https://developers.google.com/maps/documentation/ios/urlscheme

对于苹果地图是这样的: – 以下示例显示了您将用于提供旧金山和库比蒂诺之间的驾车路线的string:

http://maps.apple.com/?daddr=San+Francisco,+CA&saddr=cupertino

请参阅 : –

https://developer.apple.com/library/iad/featuredarticles/iPhoneURLScheme_Reference/iPhoneURLScheme_Reference.pdf

这适用于我,只有问题我可以看到与您的查询是准确的经纬度长度值(这些看起来是度纬度经度值,但作为十进制纬度经度值传递。

从Downey到Los Angles的示例路由NSString * string = [NSString stringWithFormat:@“ http://maps.apple.com/?daddr =%1.6f,%1.6f&saddr =%1.6f,%1.6f”,34.0522300, – 118.2436800,33.9400100,-118.1325700];

在这里输入图像说明

但对于一些方向,它不工作,并显示方向不可用

在这里输入图像说明

你可以使用下面的代码; 它会出现带有拖放注释的选定位置; 并从谷歌应用程序,你可以导航

 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"comgooglemaps://"]]) { NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"comgooglemaps://?center=%f,%f&q=%f,%f",mosqueLocation.latitude,mosqueLocation.longitude, mosqueLocation.latitude,mosqueLocation.longitude]]; [[UIApplication sharedApplication] openURL:url]; } else { NSLog(@"Can't use comgooglemaps://"); } 

请享用!!!!