0
Answered

Список городов по региону, без query

s.korolev 3 years ago updated by Антон 3 years ago 9

Возможно ли получить список городов по региону, т.е. не указывать query, а в locations передать фильтр по региону?

Answer

Answer
Answered

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


Under review

Сергей, уточните, пожалуйста, вы хотите получить список всех городов в регионе или подсказки городов в конкретном регионе по мере ввода?

Я про список всех городов.

Пример, для чего это нужно: допустим, определяем местоположение пользователя по ip, получаем какие-то город и регион, если местоположение определено неправильно, пользователь может ввести название города вручную используя подсказки, но пока он не начал ничего вводить, я хотел бы в качестве подсказок вывести города в регионе, который определен по ip, потому что ошибка в определении может быть не большой, допустим пользователь из города-спутника, а определился основной город.

Сейчас если в rest-api передавать пустой "query" возвращается пустой результат

Answer
Answered

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


жаль, а количество думаю не проблема, логично было бы использовать такое же ограничение на количество как и у подсказок

+1

> я хотел бы в качестве подсказок вывести города в регионе, который определен по ip


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


Если хотите показать самые крупные города области, это можно сделать через API. Делаете запрос с названием области:

{ "query": "Челябинская область" }

Из ответа выбираете города. В примере с Челябинской областью это будет Челябинск, Магнитогорск, Златоуст, Миасс, и так далее.

Антон, большое спасибо! Это то что нужно.

а нужно ограничивать выбор города с помощью

{
    "from_bound":{"value":"city"},
    "to_bound":{"value":"city"}
}

или выбирать города из выдачи вручную?

Вручную. Ограничение через bound в данном случае не сработает — для него нужно, чтобы помимо области в запросе была хотя бы одна буква от города.

+1

Проще всего ориентироваться на поле fias_level в ответе. Для города оно равно 4.