迁移

从 OpenCage 迁移

OpenCage 凭借让地理编码变得易于上手而赢得了用户:一个密钥参数,一个包含 results 数组的 JSON 响应,以及一个把地址拆分为 roadcitycountry 等字段的 components 对象。它融合了多个开放数据源的数据,而不是运营自己的专有数据集,这也是重视位置数据来源透明度的开发者倾向于选择它的原因之一。

从一家部分因为简单而被选中的服务商迁出,会引出一个合理的问题:新的选择能否同样简单。坦白说,答案取决于您拿什么作比较。需要填写账单表单的通用账户注册,与把密钥放进请求头是截然不同的体验,值得确认您实际替换的是哪一种。

My Geocode 的 OpenCage 兼容主机复现了 OpenCage 返回的 results 数组和 components 拆分结构,唯一变化的是版权、条款和隐私文字。字段级参考见 /compatibility/opencage/。对大多数集成来说,这意味着只需更新请求主机和密钥值,而读取 results[0].components.cityresults[0].formatted 的代码会按原样继续工作。

我们这边的身份验证接受 X-API-Key 请求头、Authorization: Bearer 请求头、HTTP Basic 认证或查询参数,因此已经把 OpenCage 密钥作为查询字符串参数发送的客户端,通常只需换一个新的密钥值即可继续工作,请求逻辑中其他部分都无需改动。

对于因为 OpenCage 对小型项目和副业开发友好而选择它的人来说,免费档是这次比较中很重要的一部分。My Geocode 允许任何地址完全不用密钥每天免费发出 2,500 次请求,每个密钥还各自拥有每天 2,500 次免费请求,按网络计算,由同一网络中不带密钥和带密钥的使用共享。超出之后,按每次请求 €0.0001 使用预付额度,或使用每月 €50 的 Unlimited 密钥,所有端点(包括每一个兼容主机)价格相同。

有一点值得直接测试而不是想当然:annotations。如果您的 OpenCage 集成会读取捆绑在地理编码响应中的额外 annotation 字段,例如时区或货币信息,请把兼容主机文档列出的字段与您的解析代码所期望的字段进行对照,因为其中一些信息可能需要改从专门的端点获取,例如 My Geocode 自己的时区查询,而不是嵌在地理编码响应本身之中。

对于一个从小做起并逐渐成长的项目,让 OpenCage 成为轻松首选的那份简单,并不一定会因为更换服务商而失去。密钥可以按您的客户端现有的任何方式发送,每日免费配额无需注册即可开始测试,所有端点统一价格,这些都让接入体验与许多 OpenCage 用户习惯的方式相近。