1

我有一个简单的按钮,按下时会将您重定向到 IOS 7 中的本机地图应用程序。我目前正在使用 maps.google.com url 方式,它将您定向到 safari 应用程序。

我的问题是,我如何让手机询问您打开指定地址的地图应用程序,在 safari、谷歌地图、苹果地图或手机上的任何其他应用程序之间进行选择?地址是普通地址,例如英国伦敦。谢谢!

4

2 回答 2

2

我建议您使用自定义 URL,如下所示:

NSURL *url = [NSURL URLWithString:@"http://maps.google.com/?q=London"];
[[UIApplication sharedApplication] openURL:url];

苹果地图

要打开 Apple 内置地图,请使用以下解决方案: Programmatically open Maps app in iOS 6

谷歌地图

如果你想打开官方的谷歌地图应用,你可以使用自定义 URL 方案:https ://developers.google.com/maps/documentation/ios/urlscheme ,像这样:

if ([[UIApplication sharedApplication] canOpenURL:
     [NSURL URLWithString:@"comgooglemaps://"]]) {
  [[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
  NSLog(@"Can't use comgooglemaps://");
}

如何提示用户选择?

我建议您使用 UIActionSheet:https ://developer.apple.com/library/ios/documentation/uikit/reference/UIActionSheet_Class/Reference/Reference.html

于 2013-10-21T09:16:40.967 回答
1

查看这段代码:

NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@",addressString];
NSString *escaped = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:escaped]];  
于 2014-03-17T05:59:07.903 回答