MapQuest Geocoding 兼容替换

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

只需更换一个主机名

原始主机
  • www.mapquestapi.com
  • open.mapquestapi.com
改用mapquest.mygeocode.com
密钥参数key(可选:任何地址不使用密钥每天也有 2,500 次请求;如需使用额度、套餐和使用记录,请在此填入您的 My Geocode 密钥)
之前
curl "https://www.mapquestapi.com/geocoding/v1/address?key=YOUR_MAPQUEST_KEY&location=233+S+Wacker+Dr,+Chicago,+IL"
之后
curl "https://mapquest.mygeocode.com/geocoding/v1/address?key=YOUR_MYGEOCODE_KEY&location=233+S+Wacker+Dr,+Chicago,+IL"

为什么用户选择迁移

MapQuest 的免费套餐多年来不断缩水,其开发者方案都是月度档位。在这里,您每天可免费使用 2,500 次,之后可选择按请求计费或固定价格。

无论是否使用密钥,免费配额都相同。发往 mapquest.mygeocode.com 的请求,与您的地址或密钥在我们自有端点上获得的每天 2,500 次免费请求合并计算。超出后,使用预付额度按每次请求 €0.0001 计费,或使用 Unlimited 密钥每月 €50。注册只需一个电子邮件地址,别无其他。

查看价格 免费获取密钥

端点

mapquest.mygeocode.com 上的路径功能底层服务
/geocoding/v1/address?location=...正向地理编码正向地理编码
/elevation/v1/profile?latLngCollection=lat,lng,lat,lng(也支持 shapeFormat=cmp/cmp6unit=m|f 以及 POST JSON)海拔剖面海拔查询
/geocoding/v1/reverse?location=lat,lng逆地理编码逆地理编码
/geocoding/v1/batch?location=...&location=...批量地理编码正向地理编码

响应示例

这是上述请求返回的内容。字段名、嵌套和类型与 MapQuest 一致。只有背后的数据来自我们。

来自 mapquest.mygeocode.com 的响应
{
  "info": {
    "statuscode": 0,
    "copyright": { "text": "My Geocode", "imageUrl": "https://www.mygeocode.com/assets/img/logo.svg", "imageAltText": "My Geocode" },
    "messages": []
  },
  "options": { "maxResults": -1, "thumbMaps": false, "ignoreLatLngInput": false },
  "results": [
    {
      "providedLocation": { "location": "233 S Wacker Dr, Chicago, IL" },
      "locations": [
        {
          "street": "233 S Wacker Dr",
          "adminArea6": "Loop",
          "adminArea6Type": "Neighborhood",
          "adminArea5": "Chicago",
          "adminArea5Type": "City",
          "adminArea4": "Cook County",
          "adminArea4Type": "County",
          "adminArea3": "IL",
          "adminArea3Type": "State",
          "adminArea1": "US",
          "adminArea1Type": "Country",
          "postalCode": "60606",
          "geocodeQualityCode": "P1AAA",
          "geocodeQuality": "POINT",
          "dragPoint": false,
          "sideOfStreet": "R",
          "linkId": "0",
          "unknownInput": "",
          "type": "s",
          "latLng": { "lat": 41.878876, "lng": -87.635918 },
          "displayLatLng": { "lat": 41.878876, "lng": -87.635918 }
        }
      ]
    }
  ]
}

细节与差异

每天前 2,500 次请求无需密钥。如需使用 My Geocode 密钥,请将其放在原来 MapQuest 密钥的位置:key 查询参数。X-API-Key 请求头、Authorization: Bearer 和 HTTP Basic 认证(以密钥作为用户名)也适用于每个主机,因此以自有方式进行认证的客户端库无需任何修改即可继续工作。

响应中的版权声明、许可名称、条款和隐私链接是我们的,而不是原服务商的。其他所有内容都保持原有结构。

  • 海拔剖面接受以原始坐标对或 cmpcmp6 压缩路径形式提供的 latLngCollection,单位可为米或英尺,支持 GET 或 POST。
  • 批量地理编码支持重复的 location= 参数或 POST 的 locations 列表,每个输入对应返回一个条目。
  • 与 MapQuest 一样,一个批量请求最多包含 100 个位置,每个位置计为一个请求。
  • 与 MapQuest 一样,没有数据的坐标点报告的高度为 -32768。

如果您的客户端依赖于此处未列出的字段或行为,请告诉我们。兼容性缺口通常很小,因此会很快修复。

其他兼容替换主机

兼容替换的工作原理概览以及 JavaScript 库兼容替换