objective-c - 谷歌地图将被取代?是真的吗?

标签 objective-c ios mkmapview

<分区>

过去 4 个月我一直在开发一个应用程序,它在很大程度上依赖于 iOS 平台上的 Google map 。最近我的一位 friend 提出了一个问题,如果 Apple Inc. 决定使用不同的 map 提供商怎么办?

在互联网上进行了几次搜索后发现,Apple 将用名为 C3 的公司构建的一些新的高级 3D map 来取代 Google map 。 (One of the researched resource)。那么现在我担心我已经写好的代码,

我应该推迟我的开发工作直到这项新技术出现吗?或者等到 Apple 正式宣布。

谢谢

最佳答案

这是编程中常见的困境,也有常见的解决方案。开发您自己的原语——无论您是需要显示叠加层、显示地标、绘制多边形和线条,都可以通过您自己的代码中的 stub 来完成所有事情。如果必须更改底层平台,您可以在一些众所周知的地方更新到新的 API。

非常 严格不要访问不在包装层中的任何地方的底层 API,以后更改为不同的应该是直截了当的。当然,这不是免费的,但只要可以在新层中实现您需要的原语,您只需更改这些原语,就可以让项目的其余部分保持不变。

为避免这种情况而损失几个月的完成项目是不值得的。

编辑:这种方法还有另一个好处 - 如果您最终为不同的 API 编写了多个原始层,您可以让用户在它们之间进行选择:您可能有一个(更昂贵的)更高质量的 map 层,您可以收费,以及一个你不收费的便宜/免费的 - 允许人们免费访问质量较低的版本,并让他们购买升级到更好的 map 。或者……有很多可能性。这与某些应用程序采用的数据持久层模式相同,让人们可以在不同的数据平台上运行相同的应用程序。这种模式有很多例子。

关于objective-c - 谷歌地图将被取代?是真的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245573/

相关文章:

objective-c - 协作 Objective C 和 monotuch

objective-c - realloc 仅将分配增加 2 的幂

objective-c - NSMassFormatter 无法将克转换为磅 (NSUnitMass) 或显示值

iOS - 具有约束优先级和抗压缩性的自动布局问题

ios - 在应用程序中更改 MKMapView 显示语言

ios - 使用 loadData 时为 UIWebview 提供查询字符串

ios - 为什么在 Playground 上不能使用 CLGeocoder.geocodeAddressString 转发地理编码?

c++ - Xcode 初学者。新文件问题和错误

Swift - 如何要求 UIGestureRecognizer 函数返回值

ios - 在 iOS 上绘制 session 中心房间 map