0
Отвечен

Сделайте поиск только населенных пунктов

Виталий 5 лет назад обновлен Валерия Таныгина 9 месяцев назад 29

Вводим в поле подсказок буквы названия населенного пункта, получаем только их, не улицы, не районы, не области, только города и населенные пункты.
Исключение надо оставить для Москвы, Питера и Симферополя, ибо будет странно, если мы не найдем эти города-регионы среди населенных пунктов России

Ответ

Ответ
На рассмотрении

Добрый день!

Дайте, пожалуйста, ссылку на вашу реализацию.

Посмотрим, в чем дело.

Для чего это пригодится:
1) У вас есть поиск улиц и домов в населенном пункте, а сам населенный пункт найти сложно, особенно если это маленький поселок, в результаты ранжируются найденные значения среди укрупненных населенных пунктов России и нужного значения может не оказаться среди представленной выдачи подсказок, приходится каждый раз уточнять, уточнять, уточнять, додумывать улицы (или искать их на карте), что бы найти нужный НП.
2) Если нужны только города на сайте, например для расчета доставки, не требуется получать улицы и дома.

Думаю пригодится всем такой поиск, голосуем!
3) Получить конкретный населенный пункт, для передачи его в поиск улиц именно по нему.
Спасибо. Включите населенные пункты пож-та. Села, поселки, станицы...
Пример: Моисеево Тамбовская область. Тбилисская, Краснодарский край и тд
+1
Вместо bounds: "city" укажите bounds: "city-settlement", и будут населенные пункты.

Добрый день!

Подскажите плиз, как тоже самое через REST организовать?
Как бы и jQuery и REST надо...


Делаем так:

curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Token ${API_KEY}" \
-d '{ "query": "Новос", "bounds": "city-settlement" }' \
https://dadata.ru/api/v2/suggest/address

В ответ приходят и города и улицы, собственно все подряд

Вот раздел про гранулярные Подсказки в документации.

Добрый день!

В гранулярных подсказках не возвращаются города, если ввести только наименование города.

Если после города передать пробел или перед наименованием написать его тип, например "г", тогда все хорошо.
Причем с городами-регионами (Мск, спб, симферополь) все хорошо. Не надо в конце ставить пробелы или перед названием писать "г".

Сделайте плиз для обычных городов РФ возврат нам главного населенного пункта (города), без необходимости указывать нам пробел в конце или в начале его тип.

Спасибо!


Пример на скринах:



Ответ
На рассмотрении

Добрый день!

Дайте, пожалуйста, ссылку на вашу реализацию.

Посмотрим, в чем дело.

Боюсь по ссылке посмотреть не получится. Реализация в учетной программе для windows выполнена, это не сайт.

Может какую дополнительную информацию могу предоставить?

Простите нас великодушно!

Мы не заметили дополнительные отборы на своей стороне. Сейчас все в порядке!

Извиняемся!!!

Добрый день, подскажите, как исключить из поиска адреса вроде:"73 км ш.Москва-Нижний Новгород" и оставить только Области, Города, Села?

Добрый день. Разрешите поднять тему :)

На vuejs делаю запрос через axios:


<input v-model="city" />


this.axios.post( 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address',
{ "query": `${this.city}`, "bounds": "city"},
{ headers:
  {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Token xxxxxxxxxxx"
  }
}).then(res => {
this.data = res.data.suggestions;
})


Получаю все подряд (улицы, дома), а хотелось бы только города. 

Работает поиск отдельно по городу с телом POST запроса:

{ "query": `${this.street}`, "locations": [{ "region": "Санкт-Петербург"}] }


Заранее спасибо!

Добрый день! На какой запрос вы получаете улицы и дома? Дайте, пожалуйста, конкретный текст запроса, без переменных. Его можно посмотреть в Chrome DevTools, например.

Добрый день! 

https://codepen.io/dadata/pen/aOxzVg в этой реализации не ищется город "Строитель" в Белгородской области. Но если набрать "Белгородская область Строитель", то находит. Как сделать, чтоб город находился без ввода области?  

А как сделать, поиск и по области и поиск по только населенных пунктов?

Вы хотите поиск только по населённым пунктам в одной области? Без городов?

Хотелось сделать, поиск в области любого населенного пункта. Главное это исключить улицы.

Не пожходят пример 1 и 2.

Нужно отправлять сразу область и убрать из поиска улицы. И это все на Rest APi.
Отправляю - {'query':'Тамбо', 'bounds':'city-settlement','locations:[{'kladr_id':'50'}]'}

На выходе получаю поиск по улице Тамбовская в моск области.

  1. У вас ограничение по Московской области, а вы ищете Тамбов.
  2. Неправильно формируете запрос. Вот верный:
{
    "query": "Тамбо",
    "from_bound": { "value": "city" },
    "to_bound": { "value": "settlement" },
    "locations": [{ "kladr_id": "68" }],
    "restrict_value": true
}

Не город тамбов, а тамбовская улица

Ваше предыдущее сообщение:

Нужно отправлять сразу область и убрать из поиска улицы.


Что вы хотите получить в результате?

Сервис поддержки клиентов работает на платформе UserEcho