Решение частых проблем поиска
При использовании поисковых API вы можете получить не тот результат, который ожидали: например, поисковая выдача будет содержать слишком много результатов или не содержать интересующий вас объект. В данной статье собраны наиболее частые проблемы поиска и возможные пути их решения.
Поиск не даёт результатов
Возможные причины:
Ошибки в параметрах запроса
Убедитесь, что имена параметров написаны в нужном регистре и без опечаток: см. Справочник API.
Пример ошибочного запроса (неверный регистр параметра q
):
https://catalog.api.2gis.com/3.0/items/geocode?Q=Москва, Садовническая, 25&key=YOUR_KEY
Ответ
{
"meta": {
"api_version": "3.0.17799",
"code": 404,
"error": {
"message": "Results not found",
"type": "itemNotFound"
},
"issue_date": "20240524"
}
}
Пример исправленного запроса:
https://catalog.api.2gis.com/3.0/items/geocode?q=Москва, Садовническая, 25&key=YOUR_KEY
Ответ
{
"meta": {
"api_version": "3.0.17799",
"code": 200,
"issue_date": "20240524"
},
"result": {
"items": [
{
"address_name": "Садовническая улица, 25",
"full_name": "Москва, Садовническая улица, 25",
"id": "4504235282713264",
"name": "Садовническая улица, 25",
"purpose_name": "Жилой дом",
"type": "building"
}
],
"total": 1
}
}
Несуществующие параметры и значения
Проверьте список доступных значений в Справочнике API.
Пример ошибочного запроса (у параметра type
не существует значения house
):
https://catalog.api.2gis.com/3.0/items/geocode?lon=37.618947&lat=55.752954&type=house&key=YOUR_KEY
Ответ
{
"meta": {
"api_version": "3.0.17799",
"code": 400,
"error": {
"message": "Param 'type' is invalid. Value 'house' is outside of allowed values: 'coordinates','station_entrance','street','adm_div.country','adm_div.district','road','attraction','adm_div.region','adm_div.place','adm_div','parking','adm_div.city','adm_div.district_area','station_platform','crossroad','kilometer_road_sign','adm_div.settlement','gate','building','adm_div.division','adm_div.living_area'",
"type": "paramIsOutsideSet"
},
"issue_date": "20240524"
}
}
Нет данных в 2ГИС
Чтобы убедиться, что данные действительно отсутствуют в 2ГИС, попробуйте найти необходимый объект вручную на карте: откройте сайт https://2gis.ru/ и введите адрес, имя или координаты объекта в строку поиска. Если вы нашли нужный объект, скорректируйте запрос и отправьте снова.
Неточные координаты
Из-за неровности рельефа и погрешностей, координаты одного и того же объекта в разных источниках могут отличаться. Используйте параметр radius
для поиска объекта в определённом радиусе от координаты. Рекомендуемое значение — от 300 метров.
Пример запроса без указания радиуса:
https://catalog.api.2gis.com/3.0/items/geocode?lon=36.207245&lat=51.756514&type=building&key=YOUR_KEY
Ответ
{
"meta": {
"api_version": "3.0.17799",
"code": 404,
"error": {
"message": "Results not found",
"type": "itemNotFound"
},
"issue_date": "20240524"
}
}
Пример запроса с указанием радиуса:
https://catalog.api.2gis.com/3.0/items/geocode?lon=36.207245&lat=51.756514&type=building&key=YOUR_KEY&radius=200
Ответ
{
"meta": {
"api_version": "3.0.17799",
"code": 200,
"issue_date": "20240524"
},
"result": {
"items": [
{
"full_name": "Курск, Подземное сооружение",
"id": "70030076246895032",
"name": "Подземное сооружение",
"purpose_name": "Подземное сооружение",
"type": "building"
},
{
"address_name": "Никитская, 66",
"full_name": "Курск, Никитская, 66",
"id": "10274472305106104",
"name": "Никитская, 66",
"purpose_name": "Частный дом",
"type": "building"
},
{
"address_name": "Островского, 8а",
"full_name": "Курск, Островского, 8а",
"id": "10274472305101732",
"name": "Островского, 8а",
"purpose_name": "Автосервис",
"type": "building"
}
],
"total": 3
}
}
Поиск даёт неточные или слишком широкие результаты
Возможные причины:
Недостаточно параметров для сужения поиска
Используйте больше фильтрующих параметров.
Например, можно указать тип объекта, который необходимо найти. Пример запроса без указания типа:
https://catalog.api.2gis.com/3.0/items/geocode?lon=37.611915&lat=55.754061&key=YOUR_KEY
Ответ (возвращаются 6 объектов)
{
"meta": {
"api_version": "3.0.17799",
"code": 200,
"issue_date": "20240524"
},
"result": {
"items": [
{
"full_name": "Москва, улица Моховая",
"id": "4504338361746011",
"name": "улица Моховая",
"type": "street"
},
{
"full_name": "Москва, Арбат",
"id": "4504209512726530",
"name": "Арбат",
"subtype": "district",
"type": "adm_div"
},
{
"full_name": "Москва, Центральный административный округ",
"id": "4504647599390721",
"name": "Центральный административный округ",
"subtype": "division",
"type": "adm_div"
},
{
"full_name": "Москва",
"id": "4504222397630173",
"name": "Москва",
"subtype": "city",
"type": "adm_div"
},
{
"full_name": "Москва город федерального значения",
"id": "5349042514588558",
"name": "Москва город федерального значения",
"subtype": "region",
"type": "adm_div"
},
{
"full_name": "Москва, Тверской",
"id": "4504209512726536",
"name": "Тверской",
"subtype": "district",
"type": "adm_div"
}
],
"total": 6
}
}
Пример запроса с указанием типа объекта:
https://catalog.api.2gis.com/3.0/items/geocode?lon=37.611915&lat=55.754061&key=YOUR_KEY&type=street
Ответ (возвращается 1 объект)
{
"meta": {
"api_version": "3.0.17799",
"code": 200,
"issue_date": "20240524"
},
"result": {
"items": [
{
"full_name": "Москва, улица Моховая",
"id": "4504338361746011",
"name": "улица Моховая",
"type": "street"
}
],
"total": 1
}
}