迁移

迁出 Google Maps Platform 海拔集成

海拔查询往往是一种不起眼的依赖,被徒步应用的路线剖面功能、检查地形净空的无人机飞行规划工具或土地测量工具调用,很少是当初开设 Google Maps Platform 账户的原因。这使它非常适合独立于更大的 Google 集成中的其他部分单独迁移,因为调用代码通常只集中在一两个函数里。

Google 的 Elevation API 接受一对或多对坐标,返回以米为单位的 elevation 值,以及描述底层数据采样精度的 resolution 数值。这是一个紧凑的响应,需要解析的内容很少,因此即使底层数据源发生变化,迁移本身的范围也相当小。

My Geocode 的海拔查询是一个完全可用的端点,请求和响应格式都很简单:发送一个坐标,返回以米为单位的地面海拔。由于这是可以直接描述真实结果(而不仅仅是响应结构)的查询之一,在切换生产流量之前,用已知的参考点(例如某座山峰的顶峰或海平面高度的海岸地点)测试这次迁移,是建立信心的合理方式。详情见 /docs/elevation-lookup/

这次迁移特别值得检查的几件事:

  • 您的代码是否在显示之外还依赖 Google 的 resolution 字段,因为不同海拔数据源对采样精度的描述方式不同,任何依赖特定 resolution 值的下游逻辑都值得审查
  • 海拔查询是批量进行(一次调用多个坐标)还是逐个进行,因为不同服务商的批量请求格式不同,值得按您的应用实际使用的批量大小进行测试
  • 是否直接从客户端代码调用海拔查询,无论目标服务商是谁,这都是把调用移到服务器端的合适时机

身份验证使用密钥,可通过 X-API-KeyAuthorization: Bearer、HTTP Basic 认证或查询参数发送。完全不用密钥每天有 2,500 次免费请求,每个密钥每天另有 2,500 次免费请求,按网络计算,超出之后按每次请求 €0.0001 使用预付额度,或使用每月 €50 的 Unlimited 密钥,与平台上其他所有端点价格相同。

海拔之外的可选附加内容,例如与应用其他部分相关的 IP 威胁详情和网络信息,可以在兼容主机上通过 mg_extras=1 获取,不过对于像这样纯粹的海拔迁移,独立端点通常是更简单、更直接的选择。在更大的地理编码迁移之前单独迁移海拔,是一种低风险的方式,可以开始减少对单一账户的依赖,而不必立即投入更大的项目。