迁移

迁出 Google Maps Platform 时区集成

在项目的架构说明中,时区查询很少单独列为一项。它通常附带在为地理编码或地图显示而开设的 Google Maps Platform 账户中,在任何需要把时间戳转换为某个坐标当地时间的地方被调用。正是这种捆绑让单独迁移它有些麻烦:账户、账单和密钥都与您可能不会同时迁移的功能共享。

Google 的时区 API 接收一个位置和一个时间戳,返回 timeZoneIdtimeZoneName,以及标准时间和夏令时调整的偏移值(以秒为单位)。这是一个小而定义明确的响应,因此在处理地理编码或更复杂的内容之前,它是从更大的 Google 账户中剥离出来的合理首选。

My Geocode 的时区查询作为一个独立、完全可用的端点运行,而不是匹配 Google 特定格式的结构层,因为这是可以直接描述真实可用响应的查询之一。对一个坐标发出请求,会返回把 UTC 时间戳转换为当地时间所需的时区标识符和偏移信息。详情见 /docs/timezone-lookup/

由于这是一个独立端点,而不是一对一的兼容主机,从 Google 的时区 API 迁出意味着要调整您的代码读取的具体字段名,这通常是一处小而局部的改动,因为时区数据本身就很精简:一个标识符、一个偏移量,也许还有一个夏令时标志。这比迁移包含地址组成解析的完整地理编码集成要省事得多。

这次迁移的实用步骤:

  • 找出当前请求 Google 时区端点的每一个调用点,因为即使在较大的代码库中,它通常也只从一两个工具函数中调用
  • 用时区规则特殊地区的坐标进行测试,例如采用半小时偏移的地方或不实行夏令时的地区,因为简单粗暴的转换往往就在这些边界情况上出错
  • 把身份验证更新为使用密钥,通过 X-API-KeyAuthorization: Bearer、HTTP Basic 认证或查询参数发送,选择与您现有请求代码最自然契合的一种

这里的价格与其他所有端点相同:不用密钥每天免费 2,500 次请求,每个密钥每天另有 2,500 次免费请求,按网络计算,之后按每次请求 €0.0001 使用预付额度,或使用每月 €50 的 Unlimited 密钥。如果您账户中的 Google Maps Platform 用量主要是时区调用、偶尔有地理编码,那么单独迁移时区部分就能显著减少仍与原账户绑定的内容,其余的迁移可以按自己的节奏进行。