一个应用程序中的两个独立地图提供程序

Posted

技术标签:

【中文标题】一个应用程序中的两个独立地图提供程序【英文标题】:Two Separate Map Providers in One App 【发布时间】:2016-12-02 06:58:52 【问题描述】:

我正在为客户开展的一个项目广泛使用地图。他们的应用程序功能之一是离线地图使用。因此我更喜欢 Mapbox。

他们支持 Mapbox,但现在他们询问是否有可能两个仅在用户离线时使用 Mapbox 和在用户在线时使用 Apple Maps。这背后的原因是 Mapbox 在使用 50k 之前是免费的。如果可能,他们正试图绕过付款。

从技术上讲,我知道这是可能的,但我无法确定的是,从长远来看,除了必须维护两个地图 API 等技术困难之外,这种情况还会有任何不利因素吗?你有没有什么具体的想法可以用来说服客户?

【问题讨论】:

【参考方案1】:

我已经多次实现了多个地图提供程序。我的策略是使用提供者接口,这样应用程序就不会与地图实现耦合。

您可以提出一些缺点。

这是额外的工作 API 的架构不同。例如 MapBox ios 使用代表进行标记注释,但 Google 地图使用成员变量。它要求您构建您的界面以考虑差异并抑制一个引擎带来的某些功能(自定义注释和样式表是我的痛点) 它们具有不同的功能和性能特征。 更新。例如,MapBox 更新频率更高,因为它相对较新。这对未来的工作有影响。 用户体验。在某些条件下随意更换地图引擎可能会让用户感到有些不适,因为它们的外观和感觉都不同。我做过的时间是让用户选择他们的引擎。

我想重点是 MapBox 许可的成本与开发人员试图规避它的时间相比非常便宜。此外,当应用程序变得流行/成功时,50k 次使用是一个问题。

【讨论】:

【参考方案2】:

“广泛使用地图”是模棱两可的。车辆的广泛使用并不能解释我们是在谈论卡车司机还是 F1 赛车手。请展开。

【讨论】:

以上是关于一个应用程序中的两个独立地图提供程序的主要内容,如果未能解决你的问题,请参考以下文章

使用一个 Spring Security 保护两个独立的 Java 应用程序

MKLocalSearch 不提供与本地 Apple 地图应用程序中的搜索相同的结果

两个独立应用程序之间的通信

调试两个独立的应用程序,Angular和Web API

如何在苹果地图中的两个位置之间绘制路线。通过 openURL

如何使用 vue-cli 3 创建两个单独的包?