TrendAgent — платформа для агентов недвижимости
Карта, с которой не уходят
Карты на TrendAgent агенты не считали полноценными и уходили в Яндекс: маршрут до работы клиента, пробки, панорама улицы. Спроектировал карту, которая эти задачи закрывает внутри продукта — с панелью функций, пинами и проверкой на агентах.
Контекст
TrendAgent — B2B-платформа для агентов: поиск, карточки ЖК и квартир, сделки. Карта стоит на выдаче, на странице ЖК и на странице квартиры. Ею пользуются, когда нужно понять район, а не когда нужно отфильтровать тысячу лотов.
Моя зона в этом разборе — web-карта и то, как агент работает с ней во время подбора и показа клиенту. Приложение на выдаче в документации почти не раскрыто: там только пины.
Где живет карта
- Выдача картой — низкочастотный сценарий, обзор района
- Страница ЖК — основной кейс: разбор комплекса с клиентом
- Страница квартиры — то же для конкретного лота
- Динамическая презентация — клиент смотрит инфраструктуру сам
Карта на выдаче, на ЖК и на квартире — три места одной панели
Проблема: за маршрутом уходят в Яндекс
Агенты открывают внешние карты, чаще всего Яндекс. На ТА не хватало того, ради чего карту открывают: как доехать, какая дорога вечером в четверг, как выглядит улица, где припарковаться.
Каждый такой уход — разрыв показа. Клиент ждет, агент переключается, контекст подбора остается в другой вкладке. Задача была не «подключить API», а оставить агента в продукте на тех же вопросах, которые он уже решает в Яндексе.
- Маршрут от ЖК или корпуса до работы, метро, школы
- Панорамы улиц и с высоты — понять окружение
- Пробки не только «сейчас», а в час поездки клиента
- Парковки рядом с комплексом
Сегмент — агенты новостройки и вторички. Клиент картой почти не пользуется сам: он получает презентацию. Значит, интерфейс должен выдерживать показ, а не только личный разбор.
Одна панель, одна функция
Все действия собраны в меню на карте. На выдаче к маршрутам и панорамам добавляются вещи подбора: скрыть пины, сгруппировать, показать лоты вне фильтра, сменить слой Яндекс / OpenStreetMap. На ЖК и квартире набор короче — там уже выбран объект.
Кликнул функцию — остальные выключаются. Иначе маршрут, пробки и панорама рисуются друг на друге. Пины объектов на маршрутах, пробках, панорамах и парковках гаснут: они мешают слою. Линейка пины не трогает — ею меряют расстояние между домами, которые как раз нужно видеть.
| Пины объектов | |
|---|---|
| Маршруты, пробки, панорамы, парковки | Гаснут |
| Линейка | Остаются |
| Если объект уже выбран и включили маршрут | Его пин остается, адрес идет в «Откуда» |
Панель функций на выдаче и на карточке ЖК
Иконки без подписи не считываются. В тесте закладывали тултипы на наведение — иначе панель выглядит как набор метафор, которые каждый агент читает по-своему.
Пины: цена, кластер, зум
Пин — точка на доме и тултип с минимальной ценой. Клик открывает карточку объекта. По умолчанию пины разгруппированы. Когда они слипаются, в кластере остается один пин с минимальной ценой, остальные — без цифры.
- На близком зуме, если цены больше не наезжают, показываем цену на всех
- В режиме «сгруппировать» — один пин, цена и число объектов внутри
- Клик по группе приближает к объектам кластера
- Отдельная кнопка гасит все пины, если карта нужна как подложка
Это место сломалось на тесте. Агенты сразу ищут имя объекта и минимальную цену — обновленные пины здесь помогают. Но в разгруппировке непонятно, почему у части пинов цена есть, а у части нет. Обводка полигона группы почти никто не замечал: два человека поняли состав кластера, трое решили, что в группе все, что видно на экране.
Более честный вариант — цена на всех разгруппированных пинах и выключатель цен для слабых машин. Кластер, который прыгает от зума, нельзя обводить как стабильный район: при движении карты он пересобирается.
Пины с ценой, кластер и разгруппировка
Маршрут от выбранного дома
Маршрут — главная причина ухода во внешние карты. Включается иконкой, пины гаснут, открывается окно: вид транспорта, «откуда», «куда», сброс, сворачивание. Если на карте уже выбран ЖК, его адрес сам встает в «откуда». «Куда» можно ткнуть пином в любое место карты — курсор меняется на конечную точку.
- Транспорт: авто, общественный, пешком, велосипед. Точки при смене вида не сбрасываются
- Авто — сплошная зеленая линия, метро — цвет веток, пешком и велосипед — пунктир
- На линии — время и расстояние. Для общественного транспорта важны пересадки
- Окно сворачивается, чтобы не съедать карту — это отдельная гипотеза теста
На тесте агенты сначала искали точку отправления зумом и поиском. Когда разбирали новое окно, понимали, что оба адреса и транспорт живут в одном месте. Кривая короткая: незнакомо в первый раз, на следующем шаге уже строится. Скриншот маршрута — типичный способ передать клиенту время в пути.
Окно маршрута: транспорт, откуда, куда, линия на карте
Пробки, панорама, парковки
Пробки на иконке — балл 0–9 и цвет с Яндекса. Внутри не только «сейчас»: день недели и ползунок часа. Клиенту важно, как дорога выглядит в его поездку, а не в момент встречи с агентом. На тесте «пробки прямо сейчас» считали лишними. Функцию искали вместе с маршрутом — отдельно она находится хуже.
Панорама выключает пины и показывает маркеры улиц и аэропанорам, как в Яндексе. Клик — 360 на весь экран, карта уезжает в угол, на ней — где сейчас стоишь относительно кадра. Это ответ на «как выглядит двор и улица», без выгрузки фотографий комплекса.
Парковки — пины мест с названием, адресом и графиком. На тесте сразу сказали: запрос чаще про закрытый паркинг в ЖК, покупку или аренду места, и не хватает «платная / бесплатная». Слой на карте все равно нужен — им показывают район до поездки на объект. Линейка — точки кликом, расстояние в тултипе, пины домов не гасятся.
Пробки со статистикой по дню и часу
Панорама улицы и пины парковок
Парковки на карте не заменяют паркинг в карточке ЖК. Это два разных вопроса: «где оставить машину у дома» и «есть ли машиноместо в продаже».
Проверка на агентах
Семь интервью плюс юзабилити, очно, от получаса до полутора. Не засекали время на задачу: функционал новый, первая сессия дала бы худшие цифры, через неделю они устарели бы. Нужны были привычки и то, как читаются иконки. Формат — мысли вслух и уточняющие вопросы.
- После короткого знакомства функции находят быстро
- На пине ждут имя объекта и минимальную цену
- Маршрут: важны время, пересадки, учет дороги
- Пробки хотят рядом с маршрутом, не отдельной иконкой
- Кластер и пины без цены читаются плохо
- Цвета корпусов поняли без легенды — легенду на карте почти не смотрели
Цифр использования после выкладки в документации нет. Статус эпика — Design. Прототип в файле помечен как устаревший: в макеты ушли правки, которые на прототип не перенесли.
Что сознательно не смешивали
Инфраструктура Яндекса и точки OpenStreetMap на одном слое расходятся: категории разные, у OSM нет нормальной подписи объекта. В бэклоге — решить, оставлять два слоя или уходить в категории Яндекса. В этой поставке слой можно сменить, но это не «одна правда об инфраструктуре».
В презентации агент может скрыть название ЖК. Тогда его не должно быть и на подложке Яндекса. Что делать с OSM в этом режиме — отдельный вопрос, в спеке он не закрыт.
- Не обещать отписку от пробок «как в навигаторе»: это статистика под поездку клиента
- Не прятать линейку в маршруты: ей меряют дома, пины должны остаться
- Не строить все виды транспорта сразу — в тесте это рассматривали и оставили выбор
Результат
- Спека web-карты: панель, пины, маршруты, пробки, панорамы, парковки, линейка, группировка
- Макеты выдачи, ЖК и квартиры, AppFlow сценариев
- Исследование с выводами по иконкам, маршруту, кластерам и парковкам
Это каркас разбора по рабочей документации. Как выглядело «до», какие итерации визуала прошли и что ушло в прод — допишем, когда будет описание решения и кадры.
Ключевой сценарий: объект на карте → маршрут до работы клиента
Что важно в этом кейсе
- Карту открывают не чтобы искать лот, а чтобы не уходить в Яндекс за маршрутом, пробкой и улицей.
- Одна функция за раз и погашенные пины — иначе слои убивают друг друга.
- Минимальная цена на пине помогает выбрать район. Цена то на одном пине, то на другом — уже шум.
- Пробки без маршрута и парковки без паркинга в ЖК отвечают не на тот вопрос, который агент несет клиенту.