API прямого геокодирования

Отправьте адрес, название места, почтовый индекс или приблизительное описание вроде «кофейня рядом с Кингс-Кросс» и получите координаты, очищенный адрес, его части, ограничивающую рамку и уровень точности, который показывает, насколько можно доверять точке.

GEThttps://api.mygeocode.com/v1/forward?q=...

Попробовать в демо Полный справочник

Пример

Запрос
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/forward?q=221B+Baker+Street,+London&limit=1"

Свободный текст работает. Структурированный запрос тоже, если у вас уже есть все части: street=221B Baker Street&city=London&country=gb. Ограничьте результаты одной или несколькими странами с помощью country=gb,ie, сместите их к точке с помощью proximity=lat,lon или к области с помощью bounds.

Ответ
{
  "status": "ok",
  "query": "221B Baker Street, London",
  "results": [
    {
      "formatted": "221B Baker Street, London NW1 6XE, United Kingdom",
      "lat": 51.523767,
      "lon": -0.158555,
      "type": "address",
      "precision": "house",
      "confidence": 0.97,
      "components": {
        "house_number": "221B",
        "road": "Baker Street",
        "neighbourhood": "Marylebone",
        "city": "London",
        "state": "England",
        "postcode": "NW1 6XE",
        "country": "United Kingdom",
        "country_code": "gb"
      },
      "bounds": { "north": 51.523917, "south": 51.523617, "east": -0.158305, "west": -0.158805 }
    }
  ]
}

Что вы получаете

ПолеЗначение
formattedПолный адрес, записанный так, как принято записывать адреса в этой стране.
lat, lonДесятичные градусы, WGS 84. До шести знаков после запятой.
typeЧто было найдено: address, street, postcode, city, region, country или poi.
precisionhouse, street, postcode или admin. См. покрытие.
confidenceОт 0 до 1. Насколько мы уверены, что это именно то место, которое вы имели в виду, с учётом запроса. Не зависит от точности: запрос города может быть сопоставлен с уверенностью 1 при точности admin.
componentsАдрес, разбитый на части, с одинаковыми названиями ключей во всех странах. Присутствуют только те части, которые существуют.
boundsОграничивающая рамка найденного объекта: здания, улицы, зоны почтового индекса или города.

Где это используется

Очистка адресов клиентов

Геокодируйте адрес при регистрации и сохраняйте formatted и components рядом с тем, что ввёл клиент. Отклоняйте всё, что ниже precision: street, и просите клиента проверить адрес.

Размещение записей на карте

Пропустите CSV с адресами магазинов или объектов недвижимости со скоростью 50 запросов в секунду и нанесите их на карту. Поле bounds даёт разумный масштаб для каждого.

Поиск по месту

Превратите «квартиры в Хакни» в ограничивающую рамку и выполните с ней запрос к своей базе данных. type показывает, что ввёл пользователь: город, улицу или здание.

Точность

Результаты с точностью до дома зависят от наличия адресных данных для страны, а они есть не везде. На странице покрытия указан лучший уровень, которого мы достигаем в каждой из 249 стран и территорий. Если сопоставить номер дома не удаётся, мы переходим к улице, затем к почтовому индексу, затем к населённому пункту, а поле precision сообщает, к какому уровню. Мы никогда не возвращаем центр страны под видом адреса.

Цена и лимиты

Один вызов равен одному запросу, сколько бы результатов он ни вернул (до 10 с параметром limit). У каждого ключа есть 2 500 бесплатных запросов в день; сверх этого 0,0001 € за запрос с предоплаченного баланса или бесплатно на ключе Unlimited (50 € в месяц). Подробнее о ценах.

Переходите с другого провайдера? Хосты Google, Bing, HERE, Mapbox и другие совместимые хосты отвечают на запросы прямого геокодирования в форматах этих провайдеров.