BRD Mobile 2.3.2 Отображение на карте

Направление работ: Mobile

Код раздела: 2.3.2

Раздел: Поиск > Список вариантов > Отображение на карте

Статус: черновик

Ответственный: Панкова Л.А.

Версия: 0.1

Обновлено: 20.07.26


1. Назначение

Раздел описывает отображение результатов поиска площадок на карте мобильного приложения.

Пользовательская цель - найти подходящую площадку на карте и перейти к ее карточке.

2. Ключевые понятия

Отображение на карте - экран результатов поиска, на котором объекты партнеров и их площадки представлены маркерами на карте и карточками в нижней панели.

Объект партнера - сущность, которая объединяет площадки партнера по местоположению и другим общим данным.

Площадка партнера - помещение, привязанное к объекту партнера, на которое пользователь может оформить заказ.

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

3. Scope

Входит

S1: Отображение результата поиска на карте и переходы к другим шагам

S2: Отображение группы объектов на карте

S3: Отображение объекта на карте

S4: Состояние загрузки

Не входит

4. BR

Указаны в пункте 4 разделов Back 2.1 Объекты партнеров, Back 2.2 Площадки партнеров и Back 2.6 Цены.

5. Функциональные требования (UC + FR)

IDСценарийФункциональное требованиеBRВесСтатус
S1: FR2.3.2-1Пользователь открывает результаты поиска на карте.Интерфейс открывает экран отображения на карте и показывает найденные объекты одиночными и сгруппированными маркерами.

На экране отображаются кнопка возврата на предыдущий экран, поле поиска “Название или метро”, кнопка перехода к фильтрации и элементы увеличения и уменьшения масштаба карты.
1Частично
OQ2.3.2-1
S1: FR2.3.2-2Пользователь открыл карту без выбранной даты и времени.Интерфейс отображает действие “Выбрать дату”, а цены объектов и площадок - в формате “От N ₽“.1Не реализовано
OQ2.3.2-2
S1: FR2.3.2-3Пользователь открыл карту с выбранными датой, временем и опциями.Интерфейс отображает активные параметры поиска тегами над картой, а для объектов и площадок показывает фиксированные цены.1Не реализовано
OQ2.3.2-2
S1: FR2.3.2-4Пользователь ищет объект по названию или метро.Интерфейс позволяет выполнить поиск через поле “Название или метро” и обновляет результаты на карте в соответствии с введенным значением.1Не реализовано
OQ2.3.2-1
S1: FR2.3.2-5Пользователь меняет дату или опции поиска.Интерфейс открывает раздел Mobile 2.2 “Параметры поиска” поверх карты и после применения параметров обновляет результаты и теги над картой.1Не реализовано
OQ2.3.2-3
S1: FR2.3.2-6Пользователь переходит к фильтрации результатов.Интерфейс открывает раздел Mobile 2.3.1 “Фильтрация списка”.1Реализовано
OQ2.3.2-8
S1: FR2.3.2-7Пользователь управляет областью просмотра карты.Интерфейс позволяет изменить масштаб карты и перейти к текущему местоположению пользователя.2Реализовано
OQ2.3.2-8
S2: FR2.3.2-8Несколько объектов находятся в одной точке карты.Интерфейс объединяет объекты в сгруппированный маркер и отображает на нем количество объектов.1Реализовано
OQ2.3.2-8
S2: FR2.3.2-9Пользователь выбирает сгруппированный маркер.Интерфейс открывает под картой нижнюю панель с количеством найденных объектов и списком их карточек.

Карточка объекта содержит фото, название, цену, рейтинг, количество оценок, диапазон площади, расстояние, количество площадок, условие предоплаты и информацию о лимите оплаты M-баллами.
1Частично
OQ2.3.2-4
S2: FR2.3.2-10Пользователь раскрывает объект в списке группы.Интерфейс раскрывает внутри карточки объекта блок “Площадки” и отображает карточки его площадок с фото, названием, объектом, площадью, рейтингом, ценой и информацией о лимите оплаты M-баллами.

Если для площадки действует скидка, интерфейс отображает цену до и после применения скидки.
1Частично
OQ2.3.2-5
S3: FR2.3.2-11Пользователь выбирает одиночный маркер объекта.Интерфейс открывает под картой нижнюю панель с карточкой выбранного объекта и блоком “Площадки” со списком связанных площадок.1Реализовано
OQ2.3.2-9
S3: FR2.3.2-12Пользователь выбирает площадку в нижней панели.Интерфейс открывает раздел услуге” для выбранной площадки.1Реализовано
OQ2.3.2-9
S4: FR2.3.2-13Выполняется загрузка объектов для выбранной точки карты.Интерфейс открывает нижнюю панель и отображает плейсхолдеры карточек объектов до получения списка объектов.1Не реализовано
OQ2.3.2-6
S4: FR2.3.2-14Объекты загружены, выполняется загрузка площадок выбранного объекта.Интерфейс сохраняет загруженные данные объекта и отображает плейсхолдеры карточек площадок в блоке “Площадки” до получения списка площадок.1
OQ2.3.2-6

6. Открытые вопросы

Сверка с кодом: BRD 2.3.2 v0.1 · репозиторий booking.mobile.flutter · commit 89ca502 / dev · 26.07.26 · якорь lib/src/feature/map_search Сводка: 9 вопросов (Open 7 · Подтверждено 2) Маршрутизация без сверки с гайдбуком (гайдбук не передавался).

IDИсточникВопросКомуСтатусРекомендацииИтоговое решение
OQ2.3.2-1Код FR2.3.2-4, FR2.3.2-1Требование говорит: на карте есть поле «Название или метро», и ввод в него обновляет результаты. В коде поле поиска нарисовано, но не работает: при вводе отправляется только событие аналитики, а рядом стоит авторский комментарий «функциональность поиска можно добавить здесь, если понадобится». Текст-подсказка — «Поиск», а не «Название или метро». Контроллер поля создаётся и очищается, но к самому полю не подключён, поэтому введённое значение никуда не попадает и результаты на карте не меняются. \ map_search_screen.dart:453-476 (поле и заглушка вместо поиска), :82 и :92 (неподключённый контроллер)РазработкаOpenЗавести тикет в Bitrix: подключить поле к поиску по названию и метро и поправить подсказку. Продуктового выбора нет — поле уже показано пользователю и создаёт ложное ожидание. Уточнить у разработки, есть ли готовый метод поиска по названию/метро в репозитории площадок: если да, работа сводится к подключению.подключить поле к поиску по названию и метро и поправить подсказку.
OQ2.3.2-2Код FR2.3.2-2, FR2.3.2-3Требование говорит: без выбранной даты карта показывает действие «Выбрать дату» и цены в формате «От N ₽», а с выбранными параметрами — теги активных параметров над картой и фиксированные цены. В коде ни того, ни другого нет: над картой только кнопка «назад», поле поиска и кнопка фильтра — ни кнопки выбора даты, ни тегов параметров. Цена всегда считается одинаково — как диапазон по площадкам объекта: «12000₽», если цены совпали, иначе «12000-18000₽». Формата «От N ₽» в коде нет вовсе, различий между «дата выбрана» и «дата не выбрана» в отображении цены тоже нет. \ map_search_screen.dart:408-420 (состав верхней панели), :1631-1643 (расчёт цены)БизнесOpen(А) Подтвердить требование (рекоменд.): различать состояния «дата выбрана / не выбрана» — это влияет на доверие к цене, пользователь должен понимать, что «12000₽» без даты — это ориентир, а не цена его заказа. Тогда работа делится на два тикета: теги параметров и формат цены. (Б) Если решено оставить единый формат — переписать FR2.3.2-2 и FR2.3.2-3 под фактическое поведение. Вопрос лучше решать вместе с Mobile 2.2 Параметры поиска — там же живёт выбор даты.Вопрос к бизнесу, чтобы это релизовать надо делать еще как минимум 2 апи чисто для карт.
OQ2.3.2-3Код FR2.3.2-5Требование говорит: с карты открывается раздел «Параметры поиска» (дата, время, опции), и после применения обновляются результаты и теги. В коде с карты открывается только модальное окно фильтрации (Mobile 2.3.1); экрана параметров поиска с карты не открыть — дату и опции можно поменять только вернувшись на предыдущий экран. Параметры поиска при этом читаются (из хранилища и из состояния приложения) и участвуют в запросе точек, но изменить их прямо на карте нельзя. \ map_search_screen.dart:478-499 (единственная кнопка — фильтр), :500-560 (открывается модалка фильтрации), :158-170 (параметры только читаются)БизнесOpen(А) Подтвердить требование — тогда доработка: открывать параметры поиска поверх карты и перезапрашивать точки после применения. (Б) Признать текущий сценарий достаточным (пользователь возвращается назад и меняет параметры там) и снять FR2.3.2-5. Решение связано с OQ2.3.2-2: теги над картой имеют смысл только если параметры можно менять не уходя с карты.Признать текущий сценарий достаточным (пользователь возвращается назад и меняет параметры там)
OQ2.3.2-4Код FR2.3.2-9Требование говорит: карточка объекта в нижней панели содержит фото, название, цену, рейтинг, количество оценок, диапазон площади, расстояние, количество площадок, условие предоплаты и информацию о лимите оплаты М-баллами. В коде все эти данные выводятся, но два элемента сделаны небрежно. (1) Лимит М-баллов берётся у первой площадки объекта и показывается как характеристика всего объекта: если у площадок объекта разные лимиты, значок покажет чужой процент. (2) Условие предоплаты выводится голым числом с процентом («30%») сразу после «N площадок», без подписи, поэтому в строке «1.2км, 5 площадок, 30%» непонятно, что означает последнее число. \ map_search_screen.dart:724-775 (лимит М-баллов от первой площадки), :837-865 (расстояние, количество площадок и предоплата одной строкой)РазработкаOpenЗавести тикет в Bitrix: (1) показывать лимит М-баллов по объекту — либо максимум по площадкам, либо диапазон, решение согласовать с бизнесом, если максимум неочевиден; (2) добавить подпись к проценту предоплаты. Второй пункт — чистый дефект отображения, первый может потребовать ответа бизнеса, но текущее поведение (значение случайной площадки) неверно в любом случае.поправить баг
OQ2.3.2-5Код FR2.3.2-10Требование говорит: карточка площадки в блоке «Площадки» содержит фото, название, объект, площадь, рейтинг, цену и информацию о лимите оплаты М-баллами, а при действующей скидке — цену до и после её применения. В коде выводятся только фото, название, площадь, рейтинг и цена. Отсутствуют: название объекта, лимит М-баллов и отображение скидки — цена всегда одна, «12000₽», перечёркнутой цены до скидки в карточке нет. \ map_search_screen.dart:1002-1081 (полный состав карточки площадки)РазработкаOpenЗавести тикет в Bitrix: дополнить карточку площадки недостающими элементами. По скидке уточнить у разработки, приходит ли в модели площадки цена до скидки: если приходит только итоговая, задача расширяется до правки контракта, и её стоит оценивать отдельно. Название объекта в этом контексте, возможно, избыточно (карточки и так вложены в карточку объекта) — этот пункт стоит подтвердить у бизнеса перед реализацией.поправить надо в коде
OQ2.3.2-6Код FR2.3.2-13, FR2.3.2-14Требование говорит: пока грузятся объекты, в нижней панели показываются плейсхолдеры их карточек; когда объекты загружены и грузятся площадки — плейсхолдеры карточек площадок в блоке «Площадки». В коде плейсхолдеров карточек нет: на время загрузки поверх карты показывается одна общая анимация ожидания. Второй сценарий вообще не может возникнуть: площадки приходят вместе с объектом одним ответом и лежат внутри его модели, отдельной загрузки площадок нет — поэтому у FR2.3.2-14 статус «—», а не «Не реализовано». \ map_search_screen.dart:1514 (общая анимация загрузки), :666 и :928 (площадки уже внутри объекта)БизнесOpen(А) Подтвердить требование по объектам (рекоменд.) — заменить общую анимацию на плейсхолдеры карточек: панель открывается сразу, и пользователь видит, что список грузится, а не пустой экран. (Б) Признать общую анимацию достаточной и снять FR2.3.2-13. FR2.3.2-14 в любом случае стоит переписать или удалить: он описывает двухэтапную загрузку, которой в приложении нет.Признать общую анимацию достаточной и снять FR2.3.2-13
OQ2.3.2-7Код вне BRDЧто нашли: два обстоятельства, которых нет в BRD. (1) Карта построена на OpenStreetMap с тайлами CARTO (в правом нижнем углу — обязательная подпись об авторских правах), а не на Яндекс- или Google-картах; масштаб ограничен диапазоном 3–19, стартовая точка — центр Москвы. (2) При переходе из карточки площадки в раздел «Информация о площадке/услуге» модель площадки собирается на месте, и часть полей заполняется пустыми значениями — например, адрес передаётся пустой строкой, а признак наличия оборудования — «нет», независимо от реальных данных. \ map_search_screen.dart:1426-1429 и :1483-1500 (карта и подпись), :1416-1417 (границы масштаба), :38-41 (стартовая точка), :975-1000 (сборка модели площадки)РазработкаOpenПо картам — вопрос информационный: если выбор провайдера согласован, достаточно упомянуть его в BRD, потому что от него зависят и внешний вид, и лицензионная подпись. По второму пункту — завести тикет в Bitrix: проверить, не показывает ли раздел 2.4 пустой адрес и «нет оборудования» при переходе именно с карты. Это проверяется на стенде за пару минут и, если подтвердится, чинится передачей полной модели площадки.не баг
OQ2.3.2-8Код FR2.3.2-6, FR2.3.2-7, FR2.3.2-8Что подтверждено: переход к фильтрации открывает модальное окно фильтров и после применения перезапрашивает точки; управление картой работает — кнопки увеличения и уменьшения масштаба, кнопка перехода к своему местоположению, а также жесты (щипок, перетаскивание, двойное касание); положение пользователя отслеживается и показывается отдельным маркером. Объекты в одной точке объединяются в сгруппированный маркер с числом внутри. \ map_search_screen.dart:500-560 (фильтрация), :1501-1512 (кнопки масштаба и местоположения), :1419-1423 (жесты), :141-155 и :1431-1447 (местоположение), :1449-1478 (группировка с количеством)ПодтвержденоРасхождения нет.
OQ2.3.2-9Код FR2.3.2-11, FR2.3.2-12Что подтверждено: выбор одиночного маркера открывает нижнюю панель с карточкой этого объекта, внутри которой раскрывается блок «Площадки (N)» со списком связанных площадок; выбор сгруппированного маркера открывает панель со списком объектов группы. Нажатие на площадку открывает раздел Mobile 2.4 для выбранной площадки. \ map_search_screen.dart:308 (панель для одного объекта), :296 и :1275 (панель для группы), :911-930 (блок «Площадки»), :989-1001 (переход в 2.4)ПодтвержденоРасхождения нет.

0 items under this folder.