Геолокация и карты в приложении маркетплейса услуг

Денис Гордиенко, генеральный директор Bright Mobile, о геолокации и картах в приложениях маркетплейсов услуг.

Подписчики, давно читающие мои статьи, знают, что у меня есть готовое решение для запуска маркетплейсов услуг с базовым функционалом – эдакое базовое ядро, которое можно подстраивать под идею клиента. Меня очень часто спрашивают, сколько будет стоить внедрить в такое готовое приложение карту. Давайте разберём нюансы.

Есть ряд моментов, которые очень сильно влияют на конечный ценник: наличие мастеров на карте, обсуждения и многое другое. Следует сразу определиться, точно ли вам это нужно и нужно ли прямо сейчас – ведь это лишние траты, и не всегда резонно переплачивать на начальной стадии разработки.

Какие составляющие карты могут повлиять на стоимость реализации?

Заказы на карте

Нужно сразу отметить, что в маркетплейсе есть заказчики и исполнители, и первый вопрос – к чему мы относим карту. Можно размещать на ней задания: при создании нового заказчик либо делает метку, как в такси, либо пишет адрес, и расположение подтягивается через геокодер. Исполнитель уже видит описание + метку, которую поставил заказчик.

В голову сразу приходят:

  • сервисы наподобие YouDo, где можно заказать услуги сантехника или электрика, тыкнув на карте, куда он должен подъехать;
  • агрегаторы такси, где без локации вообще не обойтись;

Важный момент: определиться, нужна ли вам только точка на карте (как в первом случае) или маршрут (как во втором).

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

Ранее мы делали приложение "Сами" для поиска спецтехники. Как там реализован функционал карты можно посмотреть на видео:

Исполнители на карте

Случай, когда заказчик не создаёт задание, а видит иконки исполнителей, предлагающих услуги на карте сервиса. Самый популярный пример – 2Гис. Это не классический маркетплейс, а карта, на которой отмечены разные организации. Да, есть огроменный момент с прокладкой маршрута и прочими плюшками по проезду, но по сути 2Гис – это эволюционировавший каталог организаций, где можно тыкнуть буквально в любой дом и посмотреть, какие в нём расположены компании. Или наоборот: ввести название в поиске и увидеть её на карте, выбрать категорию и пр..

Сюда же можно добавить Авито: недвижка тоже отмечается на карте, человек сразу видит, где объект расположен.

У исполнителей важен момент перекрещивания карт и уведомлений, ведь если заказ размещён в Москве, а человек находится во Владивостоке, при физическом оказании услуги ему этот заказ не интересен в принципе. Поэтому можно и нужно сделать фильтр по гео – причём его можно делать даже без карты.

То есть уже при добавлении задания заказчик указывает город или город+район, а исполнитель в профиле прописывает, где он находится. Система сопоставляет эти данные и сводит только клиентов и исполнителей из одного города/районв. Для такого фильтра карта в принципе даже не нужна.

Можно сделать сложнее – так, как это реализовано с радиусом и уведомлениями, только идти от обратного. У исполнителя будет трекаться, где он находится (всегда или когда он заходит в список заданий) и происходить фильтрация по ближайшим заявкам. Именно так делается в такси: когда водитель заканчивает прежний заказ, ему предлагается следующий, максимально к нему близкий, чтобы таксисту не пришлось ехать на другой конец города. Заказ же просто размещается на метке и никуда не девается, пока его не возьмёт тот или иной исполнитель.

О трекинге

Отдельное, не относящееся напрямую к заказчику или исполнителю направление – трекинг местоположения. Для исполнителя он может осуществляться через навигацию: заказчик указывает точку на карте, и исполнитель, который находится в каком-то другом месте, видит в приложении прокладываемый маршрут – опять же, как в такси. В данном случае трекинг нужен для того, чтобы исполнитель определил смог быстро и удобно доехать до заказчика.

Второй возможный вариант – если заказчику для каких-то целей нужна карта исполнителей и их местоположение. Такая модель чаще всего встречается не в публичных сервисах, а во внутренних приложениях для трекинга выездных сотрудников: курьеров, водителей спецтехники и прочих работников, чьё местонахождение (и занятость) требуется постоянно контролировать. Всё это дело обычно отслеживает оператор или система, которая выдаёт водителю уведомление при, например, отклонении от маршрута. Нашумевший пример – когда у нас все мусоровозы оборудовали ГЛОНАССом, и при малейшем сходе с пути диспетчеру шла тревожная кнопка – а он сидел и гадал, то ли мусоровоз угнали, то ли человек колымить поехал.

Для трекинга нужен заряд

Если в вашей бизнес-сфере без трекинга не обойтись, знайте, что у тех людей, которых вы собираетесь трекать, будет очень сильно высаживаться батарейка. Всё потому, что каждые несколько секунд идёт запрос по GPS-треку телефона, а в ответ высылается геометка.

Эти постоянные дёрганья по несколько раз в минуту требуют постоянного заряда устройства: видели, наверное, у таксистов телефоны всегда на зарядке – это не от того, что у них постоянно экраны горят (хотя и поэтому тоже), а именно из-за трекинга, который жрёт батарею. Поэтому если вы думаете трекать сантехников, имейте в виду: батареи им хватит на три-четыре часа (и то лишь при полном заряде и запросе к GPS 4 раза в минуту), а подзарядиться им будет негде.

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

1414
10 комментариев

Чтобы понять нужна ли карта надо понять нужна ли карта.
Почем карта не скажу потому что есть нюансы которые тоже не скажу. Стоимость карты зависит от мастеров на карте и обмена сообщениями.
Определение местоположения жрет батарейку

3
Ответить

Ясности из текста ноль, мог просто написать продаю cms, ВСЁ!

3
Ответить

Ха-ха, согласен!

Ответить

Это типо русифицированный скрипт маркетплейса который купили на кодканьон?

1
Ответить

Комментарий недоступен

Ответить

Комментарий недоступен

Ответить

Не совсем понял вопрос. это про поиск точек в пределах заданного расстояния по координатам?
Многие бд поддерживают геокоординаты и умеют считать по ним например постгрес. В sqlite можно закодить свою функцию которая будет это считать.
А можно упростить select считая там по теореме пифагора или просто беря разность координат

Ответить