Совместимая замена REST-сервисов Bing Maps

Microsoft прекращает поддержку Bing Maps for Enterprise. Бесплатные и базовые ключи перестали работать 30 июня 2025 г., а корпоративные соглашения заканчиваются 30 июня 2028 г.. Если у вас есть код, построенный на REST-сервисах Locations, Autosuggest, Time Zone или Elevation, направьте его на 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 € за запрос или 50 € в месяц за ключ Unlimited. Для регистрации нужен только адрес электронной почты.

Смотреть цены Получить бесплатный ключ

Эндпоинты

Путь на 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-аутентификация (ключ в качестве имени пользователя) тоже работают на каждом хосте, поэтому клиентские библиотеки со своим способом аутентификации продолжают работать без изменений.

Строки об авторских правах, названия лицензий, ссылки на условия и политику конфиденциальности в ответе наши, а не исходного провайдера. Всё остальное сохраняет исходную структуру.

  • Запросы высоты принимают точки в строке запроса, в теле формы или в теле text/plain, как описано в документации Bing.
  • Elevation/SeaLevel возвращает 404: высоты здесь уже указаны над средним уровнем моря, поэтому поправку на геоид применять не нужно.
  • Ответы о часовом поясе включают объект dstRule с правилом, записанным так же, как в базе данных часовых поясов (Sun>=8, lastSun), и поправкой в минутах.
  • estimatedTotal считает ресурсы в наборе, как это делает Bing.
  • TimeZone?query= принимает пару широты и долготы.
  • Elevation List, Polyline и Bounds принимают до 1 024 точек, как и Bing; каждая точка здесь считается одним запросом.

Если ваш клиент зависит от поля или поведения, которого здесь нет, сообщите нам. Пробелы в совместимости исправляются быстро, потому что обычно они невелики.

Другие совместимые хосты

Как работают совместимые хосты, обзор и совместимые замены для библиотек JavaScript.