首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在我自己的原生iPhone应用程序中嵌入Google Maps iphone应用程序?

如何在我自己的原生iPhone应用程序中嵌入Google Maps iphone应用程序?
EN

Stack Overflow用户
提问于 2013-08-13 09:27:03
回答 1查看 728关注 0票数 0

苹果开发人员文档解释说,如果您将一个链接放在web page中,然后在iPhone上使用Mobile Safari时单击它,iPhone标准提供的Google Maps应用程序将会启动。

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

EN

回答 1

Stack Overflow用户

发布于 2013-08-13 09:48:19

对于iOS 6.1.1及更低版本,请使用UIApplication的openURL方法。它将执行正常的iPhone神奇网址重新解释。所以

代码语言:javascript
复制
[someUIApplication openURL:[NSURL URLWithString:@"http://maps.google.com/maps?q=London"]]

应该调用Google地图应用程序。

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

代码语言:javascript
复制
[[MKMapItem mapItemForCurrentLocation] openInMapsWithLaunchOptions:nil];

为此,您需要链接到MapKit (我相信,它将提示您进行位置访问)。

您还可以使用

代码语言:javascript
复制
UIApplication *app = [UIApplication sharedApplication];
[app openURL:[NSURL URLWithString: @"http://maps.google.com/maps?q=London"]];

要在特定坐标下打开谷歌地图,请尝试this代码:

代码语言:javascript
复制
NSString *latlong = @"-56.568545,1.256281";
NSString *url = [NSString stringWithFormat: @"http://maps.google.com/maps?ll=%@",
[latlong stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

您可以将latlong字符串替换为CoreLocation中的当前位置。

您还可以使用(“z”)标志指定缩放级别。取值范围为1-19。下面是一个例子:

代码语言:javascript
复制
[[UIApplication sharedApplication] openURL:[NSURL         URLWithString:@"http://maps.google.com/maps?z=8"]];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18199256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档