Для более точного поиска укажите в тексте запроса город (посёлок, район, область), где выполняется поиск. Название населённого пункта рекомендуется указывать вместе с названием области.
Поиск с указанием точки поиска
https://catalog.api.2gis.com/3.0/items/geocode?q=Никитский переулок, 3sort_point=37.62143%2C55.752966key=YOUR_KEY
При сортировке по возрастанию расстояния ( sort = distance ) первыми в результате поиска будут показаны наиболее близкие к точке объекты. Город в тексте запроса можно не указывать.
Поиск с указанием точки поиска и радиуса
https://catalog.api.2gis.com/3.0/items/geocode?q=Никитский переулок, 3point=37.62143%2C55.752966radius=1000fields=items.point,items.geometry.centroidpoint2=37.646514%2C55.743983fields=items.point,items.geometry.centroidkey=YOUR_KEY
Город в тексте запроса можно не указывать.
Поиск в определённом городе
Шаг 1. Определить city_id , в котором производится поиск. Взять значение из поля id (часть до знака «_»).
Как ВКонтакте найти человека по id
Вариант 1. Поиск города по точке:
https://catalog.api.2gis.com/3.0/items/geocode?lon=37.62143type=adm_div.citykey=YOUR_KEY
Шаг 2. Значение из поля id (часть до знака «_») передать в поле city_id при запросе. Город в названии можно не указывать.
https://catalog.api.2gis.com/3.0/items/geocode?q=Никитский переулок, 3city_id=4504222397630173sort_point=37.62143,55.752966key=YOUR_KEY
Для получения координаты подъезда:
- определить id подъезда — взять значение поля items.context.entrance_id ;
. items: [ < «context»: < «entrance_id»: «70030076156592791» >, . > . ]
- определить координату подъезда — в блоке items.links.database_entrances найти по id блок с данными о подъезде.
. «links»: < «database_entrances»: [ < «entity_name»: «2 подъезд», «entity_number»: «2», «geometry»: < . «points»: [ «POINT(37.602988 55.743127)» ], . >, «id»: «70030076156592791», . >, . ] >
Для доступа к полю items.links.database_entrances необходимо дополнительное разрешение у ключа.
Поиск по координатам
Простой поиск по координатам
https://catalog.api.2gis.com/3.0/items/geocode?lon=37.621034fields=items.adm_div,items.addresslat=55.755124fields=items.adm_div,items.address
https://catalog.api.2gis.com/3.0/items/geocode?lon=37.614757radius=50page_size=1key=YOUR_KEY
Поиск с указанием типа объекта
Поиск здания в точке:
https://catalog.api.2gis.com/3.0/items/geocode?lon=37.618947type=buildinglat=55.755143type=adm_div.citylat=55.754061type=streethttps://docs.2gis.com/ru/api/search/geocoder/examples» target=»_blank»]docs.2gis.com[/mask_link]
Как узнать город по id в контакте?
Для того чтобы узнать город по id в контакте, можно воспользоваться методом API «users.get». Для этого нужно выполнить следующие шаги:
Как Найти Человека в ВК по ID в 2023 / Как Искать по АйДи в Вконтакте
1. Получить access_token для доступа к API контакта. Для этого нужно зарегистрировать приложение в контакте и получить его ключ доступа.
2. Вызвать метод «users.get» API контакта, передав в качестве параметра id пользователя, город которого вы хотите узнать. Например, так:
Здесь «user_ids» — id пользователя, «fields» — запрашиваемые данные (в данном случае город), «access_token» — ваш токен доступа к API, «v» — версия API.
3. После выполнения запроса вы получите ответ в формате JSON, где будет указан город пользователя с соответствующим id. Например:
В данном примере пользователь с находится в городе Москва.
Источник: chelnypost.ru
API: подсказки по адресам
Ищет адреса по любой части адреса от региона до квартиры («самара авроры 7 12» → «443017, Самарская обл, г Самара, ул Авроры, д 7, кв 12»). Также ищет по почтовому индексу («105568» → «г Москва, ул Магнитогорская»).
Что умеет и не умеет
✔️ Работает по всем странам мира (по России до квартиры, по Белоруссии, Казахстану и Узбекистану до дома, по остальным странам — до города). Ищет и показывает результаты как на русском языке («Самара, пр-кт Металлургов»), так и на английском («Russia, gorod Samara, prospekt Metallurgov»).
✔️ Находит актуальные адреса по историческим названиям (Свердловск → Екатеринбург) и синонимам (Питер → Санкт-Петербург).
✔️ Ищет по частичному совпадению («москва болот» → «г Москва, Болотная наб»), но только в последнем слове запроса («мос болот» не найдет).
✔️ Исправляет опечатки («самара авиционная») и запросы в неправильной раскладке («vjcrdf» → «москва»).
✔️ Находит адреса по кадастровому номеру («77:02:0004008:4143») и ФИАС-коду («f26b876b-6857-4951-b060-ec6559f04a9a»).
✔️ Возвращает адреса в административном и муниципальном делениях. Раскладывает выбранный адрес на гранулярные части (от региона до квартиры).
✔️ Поддерживает гранулярные подсказки по отдельным частям адреса (регионы, города, улицы, дома).
✔️ Знает земельные участки («казань красная участок 109в» → «420025, Респ Татарстан, г Казань, Советский р-н, ул Большая Красная (Малые Клыки), уч 109в»)
✔️ Учитывает, где вы находитесь (в связке с методом город по IP-адресу).
❌ Автоматически (без участия человека) обработать адреса из базы или файла.
❌ Транслитерировать (moskva suhonskaja 11 → 127642, г Москва, ул Сухонская, д 11).
Подсказки не подходят для автоматической обработки адресов. Они предлагают варианты, но не гарантируют, что угадали правильно. Поэтому окончательное решение всегда должен принимать человек.
Для автоматической обработки и транслитерации используйте API Стандартизации
Как вызвать
Чтобы вызвать метод, зарегистрируйтесь и подтвердите почту.
curl -X POST -H «Content-Type: application/json» -H «Accept: application/json» -H «Authorization: Token $» -d ‘< «query»: «москва хабар» >’ https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address
// https://github.com/hflabs/dadata-csharp var token = «$»; var api = new SuggestClientAsync(token); var result = await api.SuggestAddress(«москва хабар»);
// https://github.com/ekomobile/dadata // Использует API-ключ из переменной окружения DADATA_API_KEY import ( «context» dadata «github.com/ekomobile/dadata/v2» «github.com/ekomobile/dadata/v2/api/suggest» ) func main() < api := dadata.NewSuggestApi() params := suggest.RequestParamsresult, err := api.Address(context.Background(),
JavaScript
var url = «https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address»; var token = «$»; var query = «москва хабар»; var options = < method: «POST», mode: «cors», headers: < «Content-Type»: «application/json», «Accept»: «application/json», «Authorization»: «Token » + token >, body: JSON.stringify() > fetch(url, options) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log(«error», error));
// https://github.com/hflabs/dadata-php $token = «$»; $dadata = new DadataDadataClient($token, null); $result = $dadata->suggest(«address», «москва хабар»);
# https://github.com/hflabs/dadata-py from dadata import Dadata token = «$» dadata = Dadata(token) result = dadata.suggest(«address», «москва хабар»)
Укажите при вызове:
- Content-Type: application/json или application/xml .
- Accept — аналогично.
- $ — API-ключ.
Тело запроса передавайте в кодировке UTF-8 .
Параметры запроса
query | string | ✓ | Текст запроса |
count | number | Количество результатов по умолчанию — 10, максимум — 20 |
|
language | string | На каком языке вернуть результат по умолчанию — русский |
|
division | string | Административное либо муниципальное деление по умолчанию — административное |
|
locations | array [object] | Ограничение по родителю | |
locations_geo | array [object] | Ограничение по радиусу окружности | |
locations_boost | array [object] | Приоритет города при ранжировании | |
from_bound to_bound |
object | Гранулярные подсказки |
Что в ответе
Объект с массивом подсказок в поле suggestions :
ФИАС-код (он же код ГАР) адреса для России.
Идентификатор OpenStreetMap для Белоруссии, Казахстана и Узбекистана.
Для остальных стран — не заполняется.
0 — страна 1 — регион 3 — район 4 — город 5 — район города 6 — населенный пункт 7 — улица 8 — дом 9 — квартира или комната 65 — планировочная структура 75 — земельный участок -1 — иностранный или пустой
1 — центр района (Московская обл, Одинцовский р-н, г Одинцово) 2 — центр региона (Новосибирская обл, г Новосибирск) 3 — центр района и региона (Томская обл, г Томск) 4 — центральный район региона (Тюменская обл, Тюменский р-н) 0 — ничего из перечисленного (Московская обл, г Балашиха)
0 — точные координаты 1 — ближайший дом 2 — улица 3 — населенный пункт 4 — город 5 — координаты не определены
0 — актуальный 1–50 — переименован 51 — переподчинен 99 — удален
Административное и муниципальное деление
Подсказки могут возвращать адрес в административном либо в муниципальном делении. Это регулирует параметр запроса division (виджет / API):
- administrative — административное;
- municipal — муниципальное.
Если параметр не задан, используется административное деление.
В муниципальном делении возвращаются поля area* (муниципальный район) и sub_area* (муниципальное поселение). Поля city_district* (административный район города), напротив, скрываются.
В административном делении возвращаются поля area* (административный район региона) и city_district* (административный район города). Поля sub_area* (муниципальное поселение), напротив, скрываются.
Координаты, площадь и стоимость
Координаты есть у 97% домов в Москве, 91% в Санкт-Петербурге, 69% в других городах-миллиониках и 47% по остальной России.
Площадь и стоимость есть у 70% квартир в России.
Источники данных
Коды ответа на запрос
200 | Запрос успешно обработан |
400 | Некорректный запрос (невалидный JSON или XML) |
401 | В запросе отсутствует API-ключ |
403 | В запросе указан несуществующий API-ключ Или не подтверждена почта Или исчерпан дневной лимит по количеству запросов |
405 | Запрос сделан с методом, отличным от POST |
413 | Слишком большая длина запроса или слишком много условий |
429 | Слишком много запросов в секунду или новых соединений в минуту |
5xx | Произошла внутренняя ошибка сервиса |
Источник: dadata.ru