ios - 如何从我自己的 native 应用程序中启动 Google Maps iPhone 应用程序?

标签 ios objective-c google-maps

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

如何从我自己的原生 iPhone 应用程序(即不是通过 Mobile Safari 的网页)中启动具有特定地址的同一 Google map 应用程序,就像在“通讯录”中点击地址启动 map 一样?

注意:这仅适用于设备本身。不在模拟器中。

最佳答案

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

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

应该调用 Google map 应用程序。

从 iOS 6 开始,您将调用 Apple 自己的 map 应用程序。为此,使用您要显示的位置配置 MKMapItem 对象,然后向其发送 openInMapsWithLaunchOptions 消息。要从当前位置开始,请尝试:

[[MKMapItem mapItemForCurrentLocation] openInMapsWithLaunchOptions:nil];

为此,您需要与 MapKit 相关联(我相信它会提示您访问位置)。

关于ios - 如何从我自己的 native 应用程序中启动 Google Maps iPhone 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30058/

相关文章:

ios - KVO 不适用于 NSManagedObject 的自定义属性

iphone - 如何确定一组特定实验值的比例因子

ios - UNUserNotificationCenter 线程安全

objective-c - 在任何FSEvent或计时器触发之前,NSRunLoop会提前返回

javascript - Google Maps API V3 - KML 图层与 JS 创建的多边形

api - 如何在 flutter 中获得估计的旅行时间和距离

android - 如何计算 Android 的 GMSGeometryDistance

iphone - 拍摄 iPhone 中视频图标内的视频

ios - WKWebView的evaluateJavascript方法的completionHandler运行在什么线程上?

ios - 在Objective C中合并数组及其计数