你们中的任何人都知道如何将新地图嵌入到导航中吗?我们有一个应用程序,其中包含以下代码 - 调用Google地图以在地图中显示开始和结束地址。
NSURL *mapURL = [NSURL URLWithString:some_url_string];
[webview loadRequest:[NSURLRequest requestWithURL:mapURL]];
UIViewController *viewController = [[UIViewController alloc] init];
viewController.title = @"My Map Display";
[viewController.view addSubview:webview];
[self.navigationController pushViewController:viewController animated:YES];
我们有用于构建正确网址的位置坐标。
上面的代码将新的UIViewController / webview推送到当前视图的navigationController,以允许应用程序的用户使用后退按钮返回我们的应用程序。
当用户想要新地图时,我们想在运行iOS 6的设备上调用新的Map API。 Apple为新API MKMapItem显示了以下使用模式:
[MKMapItem openMapsWithItems:mapItems launchOptions:options];
然而,做事方式是在我们的应用程序上呈现地图 - 没有明显的方式让用户从显示的地图返回我们的应用程序。我们更喜欢UINavigationController中的地图,并且用户可以使用后退按钮从地图显示中返回。你们中的任何人都知道如何将地图嵌入到navigationController中吗?我们如何将调用生成的地图嵌入[MKMapItem openMapsWithItems:]?
答案 0 :(得分:2)
我认为你对目前的解决方案有点误解。根据您所说的用户永远不会离开您的应用,他们只是在UIWebView中看到谷歌地图。 openMapsWithItems:mapItems:launchOptions:
实际上会打开地图应用,因此您无法在地图应用中提供返回应用的链接。
据说,有几件事需要考虑。
所以,考虑到这些,我个人总是投票同时做这两件事。在您的应用中提供简单的地图视图,以便他们可以快速查看地图上的位置,然后为他们提供在地图应用中打开应用的选项,以便他们可以根据需要执行更多操作。
如果您选择此路线,那么您需要做的是查看MKMapView类,而不是将您的webview添加为子视图,您将添加MKMapView作为子视图并将注释添加到MKMapView。然后,一种常见的使用模式是允许用户触摸注释以显示“标注”,并在地图应用中打开按钮。