迁移

从 LocationIQ 迁移

LocationIQ 的定位围绕开放地理数据和简单的基于密钥的身份验证模式,密钥作为查询参数发送,JSON 响应包含 latlondisplay_name,以及一个 address 对象,其字段划分对直接使用过 OpenStreetMap 衍生数据的人来说都很熟悉。这种熟悉感并非偶然:基于开放数据源的服务商往往会采用相似的字段命名,如果您要同时比较多家服务商,这一点值得了解。

选择 LocationIQ 的团队,往往看中的是慷慨的入门额度加上简单直接的集成,无需先谈企业合同。理想情况下,迁移应当保留这种体验,而不是换成更繁重的接入流程。

My Geocode 的 LocationIQ 兼容主机完全复现 latlondisplay_name 以及地址组成字段,与原版的区别仅在于版权、条款和隐私文字。参考详情见 /compatibility/locationiq/。读取 response.display_name 或遍历 response.address 字段的应用代码,除了主机名和密钥之外应当无需改动。

针对这次迁移的简短检查清单:

  • 确认您的客户端库目前使用哪种身份验证方式(LocationIQ 通常接受查询参数),并与这里支持的四种方式对应:X-API-Key 请求头、Authorization: Bearer、HTTP Basic 认证或查询参数
  • 检查您的集成是否也调用了逆地理编码端点,因为那里的请求格式与正向地理编码不同,值得单独测试
  • 检查您专门围绕 LocationIQ 响应头编写的速率限制处理代码,因为不同服务商的请求头名称不同,您的重试逻辑可能按名称引用了它们

价格方面的对比相当直接:每天 2,500 次请求完全不需要密钥,每个密钥每天还另有 2,500 次免费请求,按网络计算,IPv4 按 /24,IPv6 按 /48。超出免费配额后,按每次请求 €0.0001 使用预付额度,或使用每月 €50 的 Unlimited 密钥,所有端点价格相同,地理编码用量与其他查询之间没有单独的档位。

如果您对 LocationIQ 的使用是从一个副业项目自然成长为别人依赖的服务,兼容主机的目的正是让这种迁移变得“无聊”,这是最好的意义上的无聊:换一个主机名,换一个密钥,然后继续发布。当初花时间才调好的解析代码,不需要仅仅因为背后的服务商变了就重写一遍。完整的配额信息(包括按网络计算的用量)通过标准响应头提供,文档见 /docs/rate-limits/