Как задать сортировку по street_type?
Чтобы метро было раньше чем улицы?
Вводишь "Невский" и должно быть первым "метро Невский проспект", а не куча улиц, проспектов и переулков
Ответ
А почему метро должно быть первым, какой у вас сценарий использования?
Наши клиенты в поиске по адресу ориентируются в первую очередь по станциям метро, улицы и проспекты для них второстепенны
Сейчас же, если сажжест сократить под дизайн (5-10 позиций результатов поиска), то станция метро вообще может не попасть в выборку:
Да, для большинства пользователей метро менее значимы, чем улицы — поэтому они ниже в выдаче.
Если вы работаете по конкретному городу, можно ограничить им подсказки:
$("#address").suggestions({ token: TOKEN, type: "ADDRESS", constraints: { label: "", locations: { region: "Санкт-Петербург" } }, restrict_value: true });
Ещё можно подсказывать только метро.
То есть сортировку (приоритет или вес) по street_type нельзя задать при запросе к API?
>Если вы работаете по конкретному городу
Нам надо работать со всеми городами
В городах, где есть метро люди предпочитают ориентировать по станциям метро, это больше похоже на микрорайоны. Странно что у вас станции метро имеют меньший приоритет чем переулки
Публикую два решения:
- https://codepen.io/adw0rd/pen/RYGMYJ - Примитивное (сортирует результат, чтобы первым шли станции метро, но из-за ограничения API на 20 результатов особо пользы не вижу)
- https://codepen.io/adw0rd/pen/ZMpxZO - Делает дополнительный запрос с констрейтом по street_type=метро, потом склеивает в общую выборку (сначала станции метро, потом остальное)
может кому пригодится
Сервис поддержки клиентов работает на платформе UserEcho
Да, для большинства пользователей метро менее значимы, чем улицы — поэтому они ниже в выдаче.
Если вы работаете по конкретному городу, можно ограничить им подсказки:
Ещё можно подсказывать только метро.