一个应用程序中的两个独立的地图提供者
Two Separate Map Providers in One App
我正在为客户开展的一个项目广泛使用了地图。他们的应用程序功能之一是使用离线地图。所以我更喜欢他们 Mapbox.
他们支持 Mapbox,但现在他们询问是否有可能两者仅在用户离线时使用 Mapbox 并在用户在线时使用 Apple 地图。这背后的原因是 Mapbox 仅在 50k 使用量之前免费。如果可能的话,他们正试图绕过付款。
从技术上讲,我知道这是可能的,但我无法决定的是,除了必须维护两个地图 API 等技术困难之外,这种情况在长期 运行 中还会有任何不利影响吗?您有什么具体的想法可以用来说服客户吗?
我在多个场合实现了多个地图提供程序。我的策略是使用提供者接口,这样应用程序就不会耦合到地图实现。
您可以提出一些缺点。
- 这是额外的工作
- API 的架构不同。例如 MapBox iOS 使用委托进行标记注释,但 Google 地图使用成员变量。它要求您构建界面以解决差异并抑制一个引擎给 table 带来的某些功能(自定义注释和样式表对我来说是痛点)
- 它们具有不同的功能和性能特征。
- 更新。例如,MapBox 更新频率更高,因为它相对较新。这对以后的工作有影响。
- 用户体验。在某些情况下任意交换地图引擎可能会让用户感到有些不适应,因为它们的外观和感觉不同。我做过的次数是作为用户选择引擎的功能。
我想最重要的一点是,与开发人员试图规避它的时间相比,MapBox 许可的成本非常便宜。此外,当应用程序变得流行/成功时,50k 的使用量是一个问题。
"Extensive use of maps" 是模棱两可的。大量使用车辆并不能解释我们是在谈论卡车司机还是 F1 赛车手。请展开。
我正在为客户开展的一个项目广泛使用了地图。他们的应用程序功能之一是使用离线地图。所以我更喜欢他们 Mapbox.
他们支持 Mapbox,但现在他们询问是否有可能两者仅在用户离线时使用 Mapbox 并在用户在线时使用 Apple 地图。这背后的原因是 Mapbox 仅在 50k 使用量之前免费。如果可能的话,他们正试图绕过付款。
从技术上讲,我知道这是可能的,但我无法决定的是,除了必须维护两个地图 API 等技术困难之外,这种情况在长期 运行 中还会有任何不利影响吗?您有什么具体的想法可以用来说服客户吗?
我在多个场合实现了多个地图提供程序。我的策略是使用提供者接口,这样应用程序就不会耦合到地图实现。
您可以提出一些缺点。
- 这是额外的工作
- API 的架构不同。例如 MapBox iOS 使用委托进行标记注释,但 Google 地图使用成员变量。它要求您构建界面以解决差异并抑制一个引擎给 table 带来的某些功能(自定义注释和样式表对我来说是痛点)
- 它们具有不同的功能和性能特征。
- 更新。例如,MapBox 更新频率更高,因为它相对较新。这对以后的工作有影响。
- 用户体验。在某些情况下任意交换地图引擎可能会让用户感到有些不适应,因为它们的外观和感觉不同。我做过的次数是作为用户选择引擎的功能。
我想最重要的一点是,与开发人员试图规避它的时间相比,MapBox 许可的成本非常便宜。此外,当应用程序变得流行/成功时,50k 的使用量是一个问题。
"Extensive use of maps" 是模棱两可的。大量使用车辆并不能解释我们是在谈论卡车司机还是 F1 赛车手。请展开。