其他地理编码 API 的兼容替换方案

更换地理编码服务商通常意味着要重写解析响应的代码。我们希望您不必这样做。下面的每个主机都接受某一服务商 API 的路径和参数,并以该服务商的 JSON 格式响应,背后使用的是我们的数据。更换主机名,把您的 My Geocode 密钥放到原来密钥的位置,然后上线即可。获取免费密钥只需要您的姓名、一个电子邮件地址和一分钟时间。

  1. 在下方找到您的服务商

    每个页面都列出了原始主机、替换主机以及所支持的每一个路径。

  2. 在配置中更换主机

    例如 maps.googleapis.com 变为 gapi.mygeocode.com。路径和参数保持不变。

  3. 更换密钥

    将您的 My Geocode 密钥放入旧密钥所用的同一参数中。免费密钥每天有 2,500 次请求。

REST 主机

Google Maps 平台

maps.googleapis.com → gapi.mygeocode.com

Geocoding、Places Autocomplete、Time Zone 和 Elevation 网络服务都在 gapi.mygeocode.com 上的相同路径响应,JSON 结构与 Google 返回的相同。

端点与响应格式

Bing Maps REST 服务

dev.virtualearth.net → bing.mygeocode.com

Microsoft 即将停用 Bing Maps for Enterprise。

端点与响应格式

HERE 地理编码与搜索

geocode.search.hereapi.com, revgeocode.search.hereapi.com, autosuggest.search.hereapi.com, autocomplete.search.hereapi.com → here.mygeocode.com

HERE 将其搜索 API 分布在多个主机上。

端点与响应格式

Mapbox Geocoding

api.mapbox.com → mapbox.mygeocode.com

较早的 v5 Geocoding API 和当前的 v6 端点都在 mapbox.mygeocode.com 上响应。

端点与响应格式

Geocode.Farm

api.geocode.farm, www.geocode.farm → farm.mygeocode.com

Geocode.Farm 的正向和逆向端点,无论是 v3 还是 v4 的 URL 风格,都在 farm.mygeocode.com 上响应。

端点与响应格式

OpenStreetMap Nominatim

nominatim.openstreetmap.org → osm.mygeocode.com

公共 Nominatim 实例要求每秒最多一个请求,且不得大量使用。

端点与响应格式

OpenCage

api.opencagedata.com → opencage.mygeocode.com

OpenCage 使用同一个端点处理正向和逆地理编码,并返回内容丰富的 annotations 信息块。

端点与响应格式

LocationIQ

us1.locationiq.com, eu1.locationiq.com → locationiq.mygeocode.com

LocationIQ 的 search、reverse、autocomplete 和 timezone 端点都在 locationiq.mygeocode.com 上响应。

端点与响应格式

Geoapify

api.geoapify.com → geoapify.mygeocode.com

Geoapify 的地理编码端点返回带有扁平 properties 对象的 GeoJSON FeatureCollection。

端点与响应格式

TomTom Search

api.tomtom.com → tomtom.mygeocode.com

TomTom 的 Geocode、Reverse Geocode 和 Fuzzy Search 端点都在 tomtom.mygeocode.com 上响应,summary 和 results 结构完全相同,包括大多数集成用于显示的 freeformAddress 字段。

端点与响应格式

MapQuest Geocoding

www.mapquestapi.com, open.mapquestapi.com → mapquest.mygeocode.com

MapQuest 的授权版和 Open Data 版地理编码端点都在 mapquest.mygeocode.com 上响应,包含 info、options 和 results 外层结构,以及 MapQuest 客户端所解析的 adminArea1 到 adminArea6 命名方式。

端点与响应格式

Geocodio

api.geocod.io → geocodio.mygeocode.com

Geocodio 专注于美国和加拿大。

端点与响应格式

PositionStack

api.positionstack.com → positionstack.mygeocode.com

PositionStack 的正向和逆向端点都在 positionstack.mygeocode.com 上响应,data 数组和扁平字段名完全相同。

端点与响应格式

ip-api.com

ip-api.com, pro.ip-api.com → ipapi.mygeocode.com

ip-api 的 JSON 端点是被模仿最广泛的 IP 查询格式之一。

端点与响应格式

ipinfo.io

ipinfo.io → ipinfo.mygeocode.com

ipinfo 的紧凑 JSON(包含 loc 字符串和以 AS 号为前缀的 org 字符串)在 ipinfo.mygeocode.com 上被完整重现。

端点与响应格式

ipstack

api.ipstack.com → ipstack.mygeocode.com

ipstack 的标准查询和 check 端点都在 ipstack.mygeocode.com 上响应,顶层字段和 location 对象完全相同,并且所有套餐都支持 HTTPS。

端点与响应格式

Open-Elevation

api.open-elevation.com → openelevation.mygeocode.com

Open-Elevation 的公共服务器是一个志愿者项目,不承诺正常运行时间。

端点与响应格式

JavaScript 库

同样的方法也适用于地图和地理编码库。从 gapi.mygeocode.com 加载 Google Maps JavaScript API,google.maps.MapGeocoderplaces.Autocomplete 即可继续使用我们的瓦片和数据工作,地图加载不收费。我们还提供 Bing Maps V8 控件、HERE Maps for JavaScript 和 MapQuest.js 的加载器,以及 MapLibre、搭配 mapbox-gl-geocoder 的 Mapbox GL 和 Leaflet 地理编码插件的配置。

JavaScript 兼容替换 完整参考文档与迁移清单

哪些相同,哪些不同

相同之处

  • 服务商文档中记载的路径、查询参数和 HTTP 方法。
  • 响应结构:字段名、嵌套、数组、类型和坐标顺序。
  • 状态词汇,例如 Google 的 OKZERO_RESULTS,或 Bing 的 statusCode
  • 错误结构,因此您现有的错误处理可以继续工作。
  • 价格。向兼容主机发送的请求与向我们自有端点发送的请求费用相同,并从同一个密钥配额中扣除。

不同之处

  • 数据。坐标、格式化地址和置信度数值都来自我们,因此不会与原服务商的结果完全一致。
  • 标识符。地点 ID 由我们生成且保持稳定,但无法传给原服务商使用。
  • 不包含地理编码、IP、时区和海拔之外的功能,例如路线规划、地点详情和照片。每个页面都列出了缺少的功能。
  • 密钥。与我们自有端点一样,按量付费密钥在滚动的 24 小时内可从两个 IP 地址使用,Unlimited 密钥可从三个 IP 地址使用。规模更大的设备群请使用更多密钥或套餐。

没有列出您的服务商?

如果服务商的格式有文档说明,添加一个兼容主机只需几天时间。如果您使用的服务不在此列,请告诉我们是哪一家,以及您每天大约发送多少请求。