【问题标题】:From iOS Mapkit to Google Maps?从 iOS Mapkit 到 Google 地图?
【发布时间】:2012-01-28 17:46:58
【问题描述】:

我使用 Mapkit 实现了一个简单的应用程序,该应用程序显示某个地址的一个 pin。 如果我单击此图钉,我可以看到位置的详细信息和披露指示。 此时,我想让用户获得从他所在位置到那里的路线。

我唯一的想法是推送一个 web 视图,该视图在谷歌地图中打开一个带有所需坐标的 url。 有很多有效且可用的方法来做到这一点吗?还有其他想法吗?

提前致谢, 亚萨

【问题讨论】:

    标签: ios google-maps mapkit directions


    【解决方案1】:

    您必须决定是要嵌入 UIWebView 还是让用户转到地图应用。如果您让用户退出您的应用程序,但地图应用程序中的用户体验远好于网络体验,您会失去“用户连接”。出于这个原因,我选择了地图应用。

    请参阅http://wiki.akosma.com/IPhone_URL_Schemes#Maps,了解如何通过UIApplication openURL 启动地图应用程序。

    请注意,如果未安装地图应用(只是模拟器?),这将打开网页,但会在 Safari 中打开,而不是在嵌入的 UIWebView 中。

    【讨论】:

      【解决方案2】:

      实际上,在 iOS7 中,您可以使用 MapKit 在您的应用程序中指定路线。 Here 是我的来源。我引用:

      MKDirectionRequest 和 MKDirectionResponse 许多移动用户依赖 从他们的设备和 iOS 7 开发人员现在可以提供方向 它们在您的应用程序的上下文中,而不是切换到地图 应用。您从源和目标开始您的请求。 其他选项包括替代路线、运输类型和时间 出发/到达。

      MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init]; 
      > request.source = source;  request.destination = destination; 
      > request.requestsAlternateRoutes = YES;    MKDirections *directions =
      > [[MKDirections alloc] initWithRequest:request];  [directions
      > calculateDirectionsWithCompletionHandler: ^(MKDirectionsResponse
      > *response, NSError *error) {      if (error) {        NSLog(@"Error is %@",error);    } else {        [self showDirections:response];     }  }];
      

      MKDirectionsResponse 提供了大量信息,包括 一个 MKRoutes 数组,每个都包含一个 MKRouteStep 数组,所以 你可以提供每一步的指导,让你的用户找到他们的 地点。通过将 MKRoute 和 MKRouteSteps 放在一个数组中,它 可以轻松地在表格中显示信息或显示 地图信息如下:

      for (MKRoute *route in _response.routes) {      [_mapView
      > addOverlay:route.polyline level: MKOverlayLevelAboveRoads];  }
      

      结果可能会随着用户移动设备而频繁更新,因此 不要长时间缓存结果。

      借助 Google Maps API 中的类似功能,Google 施加了限制 您的应用在一天内可以处理的请求数。苹果选择了 去不同的方向和速率限制每个设备,这 意味着没有每个应用程序或每个开发人员的使用限制。一个设备可以 如果达到高使用率则被限制,这是为了抑制 会执行递归请求等操作的应用程序。

      对不起,如果这个答案的格式很奇怪,我发现所有引号和代码格式都很困难。希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-12
        • 1970-01-01
        • 2011-10-20
        • 2014-04-06
        • 1970-01-01
        • 1970-01-01
        • 2020-02-28
        • 1970-01-01
        相关资源
        最近更新 更多