Bing Maps REST Services 兼容替换

Microsoft 即将停用 Bing Maps for Enterprise。免费和基础密钥已于 2025年6月30日 停止工作,企业协议将于 2028年6月30日 终止。如果您的代码基于 Locations、Autosuggest、Time Zone 或 Elevation REST 服务构建,只需将其指向 bing.mygeocode.com,响应解析保持不变。

只需更换一个主机名

原始主机
  • dev.virtualearth.net
改用bing.mygeocode.com
密钥参数key(可选:任何地址不使用密钥每天也有 2,500 次请求;如需使用额度、套餐和使用记录,请在此填入您的 My Geocode 密钥)
之前
curl "https://dev.virtualearth.net/REST/v1/Locations?q=1%20Microsoft%20Way%2C%20Redmond%2C%20WA&key=YOUR_BING_KEY"
之后
curl "https://bing.mygeocode.com/REST/v1/Locations?q=1%20Microsoft%20Way%2C%20Redmond%2C%20WA&key=YOUR_MYGEOCODE_KEY"

为什么用户选择迁移

Bing 端点将按照固定时间表停用。迁移到 Azure Maps 意味着新的响应结构和新的客户端代码。更换一个主机名则不需要这些。

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

查看价格 免费获取密钥

端点

bing.mygeocode.com 上的路径功能底层服务
/REST/v1/Locations?q=...按查询查找位置正向地理编码
/REST/v1/Locations?countryRegion=...&locality=...&addressLine=...按结构化地址查找位置正向地理编码
/REST/v1/Locations/{lat},{lon}按坐标点查找位置(逆向)逆地理编码
/REST/v1/Autosuggest?query=...自动建议地址自动补全
/REST/v1/TimeZone/{lat},{lon}按坐标点查询时区时区查询
/REST/v1/Elevation/List?points=lat,lon,lat,lon一组坐标点的海拔海拔查询

响应示例

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

来自 bing.mygeocode.com 的响应
{
  "authenticationResultCode": "ValidCredentials",
  "brandLogoUri": "https://www.mygeocode.com/assets/img/logo.svg",
  "copyright": "Copyright My Geocode",
  "resourceSets": [
    {
      "estimatedTotal": 1,
      "resources": [
        {
          "__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1",
          "bbox": [47.635742, -122.140518, 47.643468, -122.125237],
          "name": "1 Microsoft Way, Redmond, WA 98052",
          "point": { "type": "Point", "coordinates": [47.639605, -122.129877] },
          "address": {
            "addressLine": "1 Microsoft Way",
            "adminDistrict": "WA",
            "adminDistrict2": "King County",
            "countryRegion": "United States",
            "formattedAddress": "1 Microsoft Way, Redmond, WA 98052",
            "locality": "Redmond",
            "postalCode": "98052"
          },
          "confidence": "High",
          "entityType": "Address",
          "geocodePoints": [
            { "type": "Point", "coordinates": [47.639605, -122.129877], "calculationMethod": "Rooftop", "usageTypes": ["Display"] }
          ],
          "matchCodes": ["Good"]
        }
      ]
    }
  ],
  "statusCode": 200,
  "statusDescription": "OK",
  "traceId": "mg-7f2a9c1e4b"
}

细节与差异

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

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

  • 海拔请求接受放在查询字符串、表单正文或 Bing 文档所述的 text/plain 正文中的坐标点。
  • Elevation/SeaLevel 返回 404:这里的高度本身就是相对于平均海平面的,因此无需再应用大地水准面偏移。
  • 时区响应包含 dstRule 对象,其中规则按时区数据库的写法表示(Sun>=8lastSun),调整量以分钟为单位。
  • 与 Bing 一样,estimatedTotal 统计结果集中的资源数量。
  • TimeZone?query= 接受一对纬度和经度。
  • 与 Bing 一样,Elevation List、Polyline 和 Bounds 最多接受 1,024 个坐标点;在这里每个坐标点计为一个请求。

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

其他兼容替换主机

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