Apple Developer Documentation(link is dead now)解释说,如果你在网页中放置一个链接,然后在iPhone上使用Mobile Safari时单击它,iPhone标准提供的谷歌 map 应用程序将启动.

我如何才能从自己的原生iPhone应用程序(即不是通过Mobile Safari的网页)中启动具有特定地址的同一谷歌 map 应用程序,就像点击联系人中的地址启动 map 一样?

NOTE: THIS ONLY WORKS ON THE DEVICE ITSELF. NOT IN THE SIMULATOR.

推荐答案

对于iOS 5.1.1及更低版本,请使用UIApplicationopenURL方法.它将执行正常的iPhone神奇URL重新解释.所以

[someUIApplication openURL:[NSURL URLWithString:@"http://maps.google.com/maps?q=London"]]

应该调用谷歌 map 应用程序.

在iOS 6上,你将调用苹果自己的 map 应用程序.为此,请将MKMapItem对象配置为要显示的位置,然后向其发送openInMapsWithLaunchOptions消息.要从当前位置开始,请try :

[[MKMapItem mapItemForCurrentLocation] openInMapsWithLaunchOptions:nil];

为此,您需要与MapKit链接(我相信,它会提示您访问位置).

Objective-c相关问答推荐

目标 C:什么是(id)发件人?

uipageviewcontroller 类在设置多个视图控制器时崩溃

UITableView/UITableViewCell 点击事件响应?

在 Objective-C 中定义协议的类别?

使用正则表达式搜索 NSString

防止其他程序员调用 -init 的最佳方法

为什么当我使其处于非活动状态时,弱 IBOutlet NSLayoutConstraint 变为 nil?

UIRefreshControl iOS 6 xcode

NSFileManager 唯一的文件名

在 NSData 和 base64 字符串之间转换

与 iOS 6.0 原生 Facebook 集成共享:通过我的应用名称发布?

在 ARC 中清零弱引用

如何在情节提要场景中嵌入自定义视图 xib?

如何在 Objective-C 中创建静态方法?

dispatch_async(dispatch_get_main_queue(), ^{...});等到完成?

iOS是静态框架还是动态框架?

架构 i386 clang 的重复符号

iOS ScrollView 需要约束 y 位置或高度

允许用户从 UILabel 中 Select 文本进行复制

以编程方式设置 UIView 的自动调整大小掩码?