Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何将iOS映射嵌入UINavigationController_Objective C_Uinavigationcontroller_Mapkit_Ios6 - Fatal编程技术网

Objective c 如何将iOS映射嵌入UINavigationController

Objective c 如何将iOS映射嵌入UINavigationController,objective-c,uinavigationcontroller,mapkit,ios6,Objective C,Uinavigationcontroller,Mapkit,Ios6,你们知道如何将新地图嵌入导航系统吗?我们有一个应用程序,它有下面的一段代码——调用谷歌地图在地图中显示起始地址和结束地址 NSURL *mapURL = [NSURL URLWithString:some_url_string]; [webview loadRequest:[NSURLRequest requestWithURL:mapURL]]; UIViewController *viewController = [[UIViewController alloc] init]; viewC

你们知道如何将新地图嵌入导航系统吗?我们有一个应用程序,它有下面的一段代码——调用谷歌地图在地图中显示起始地址和结束地址

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];
我们有用于构造正确url的位置坐标

上面的代码将新的UIViewController/webview推送到当前视图的navigationController中,以允许应用程序的用户使用后退按钮返回到我们的应用程序

当用户需要新地图时,我们希望在运行iOS 6的设备上调用新地图API。Apple显示了新API MKMapItem的以下使用模式:

[MKMapItem openMapsWithItems:mapItems launchOptions:options];

然而,“按方式做事”会在我们的应用程序上呈现地图——用户没有明显的方式从显示的地图返回到我们的应用程序。我们更喜欢UINavigationController中的地图,用户可以使用后退按钮从地图显示返回。你们知道如何将地图嵌入navigationController吗?如何嵌入调用[MKMapItem openMapsWithItems:]生成的映射?

我认为您对当前解决方案有点误解。根据你所说的,用户永远不会离开你的应用程序,他们只是在UIWebView中看到谷歌地图。
openMapsWithItems:mapItems:launchOptions:
实际上会打开“地图”应用程序,因此您无法从“地图”应用程序中提供回应用程序的链接

这样说,有两件事要考虑。

  • 在“地图”应用程序中打开对用户非常有用,他们可以获得“地图”应用程序提供的所有好处,如转弯方向和搜索
  • 将用户保持在应用程序中是在地图视图中显示位置的一种非常快速且用户友好的方式
  • 因此,考虑到这两个因素,我个人总是投票赞成两者兼而有之。在你的应用程序中提供一个简单的地图视图,以便他们可以快速查看位置在地图上的位置,但也可以在“地图”应用程序中为他们提供打开应用程序的选项,以便他们可以根据需要执行更多操作


    如果选择此路径,则需要查看MKMapView类,而不是将webview添加为子视图,而是将MKMapView添加为子视图,并将注释添加到MKMapView。一种常见的使用模式是,允许用户触摸注释,在地图应用程序中打开带有按钮的“标注”。

    在我们的实现中,webView的目的是按顺序显示。当用户在我们的代码中到达这一点时,他们已经通过一个地图视图来选择一个特定的业务。我们正试图让他们从应用程序中获得一个转弯方向。这适用于url/google。他们可以随时使用“后退”按钮返回到我们使用其所选业务生成的地图视图。我们想知道是否有一种等效的方法来实现新地图的使用模式。听起来你好像在说没有。对,你不能在地图应用程序之外访问逐轮功能,因为它是地图应用程序的功能,而不是SDK。你当然可以继续你现在正在做的事情,但我建议为你的用户提供在地图应用程序中轻松打开地址的功能。看起来MkMapKit能够显示新地图。我不知道你是否为苹果工作。但是,如果你这样做了,我想提出一个功能请求:我们希望能够在地图显示中显示两个注释之间的路线。@Sunny我不为苹果工作,但你可以在bugreporter.Apple.com上提交一个功能请求,我相信这是很多人都喜欢看到的。