objective-c - 在应用程序中有谷歌和苹果 map

标签 objective-c google-maps-sdk-ios

我在 View 中使用 Apple map 作为默认 map 。

我需要在我的应用中集成 Google map ,并让用户选择 map 类型: 谷歌地图或苹果 map 。

我有不同的方法,显示半径覆盖、图钉和其他东西。有什么方法可以拥有 1 个 MapView,并且只是更改 map 的类型?谷歌或苹果。

将两者映射到应用程序的最佳实践是什么。

最佳答案

您将无法简单地使用两个不同的 map 并在它们之间切换,因为它们不共享相同的 API,甚至不共享相似的 API。这意味着需要针对每个单独的 map 适本地处理每条信息,因为在每个 map 上处理注释和叠加层的方式不同。我的建议是使用 UIViewControllerContainment,创建一个类,比如 VRMapViewController,放置这个类需要实现的方法以便添加/删除一些数据,然后实现两个子类:VRAppleMapViewController 和 VRGoogleMapViewController。在这个子类中,您将处理每个控件所需的自定义,以便在 map 中显示数据(配置注释和叠加层等)。每个类还将处理来自各自 map View 的委托(delegate)回调。

关于objective-c - 在应用程序中有谷歌和苹果 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18039684/

相关文章:

ios - 从同时加载的TableViewController访问ViewController socket

iphone - 将 JSON 数据放入 NSURL

objective-c - 谷歌地图 iOS SDK : How do I get accurate latitude and longitude coordinates from a camera's visibleRegion?

ios - IB Designables : Failed to render and update auto layout status for Google Maps

ios - 使用 GoogleMaps SDK 生成路线?

ios - 如何在 iOS 中标记拖动到达屏幕边界时移动 map 相机?

objective-c - 是否可以在另一个线程上运行 sqlite3_exec() ?

ios - NSURLConnection didReceiveData 未加载数据

c++ - 将指纹(十六进制格式)转换为图像

ios - 响应 iOs 后启动方法