Пины на карте что это
Перейти к содержимому

Пины на карте что это

  • автор:

Обзор Геокабинета от Яндекс: размещение пинов по маршруту

Яндекс.Навигатор – бесплатное мобильное приложение, которое помогает водителям добраться в определенную точку за минимальный промежуток времени в объезд пробок. Программа предупреждает о местах аварий и ремонта дорог и знает все о парковках, заправках, кафе, магазинах, развлекательных заведениях. Ежемесячно в России ею пользуется 17 миллионов человек. Сервис доступен также в Турции и странах СНГ, работает даже при отсутствии интернета.

Реклама в Навигаторе во время построения маршрута рассказывает потенциальным клиентам компаний об услугах, которыми люди вероятно захотят воспользоваться. Частному бизнесу такая реклама помогает стать узнаваемым на фоне конкурентов, крупным сетям – предоставлять информацию о наличии точек в различных частях города. Реклама на Яндекс.Картах особенно рекомендуется для продуктов, относительно которых решение принимается на ходу.

Рассмотрим подробнее, какие виды рекламы в Яндекс.Навигаторе, как они выглядят и в каких случаях их уместно использовать.

Пины по маршруту в Навигаторе:

Пины по маршруту в Навигаторе

как это выглядит

Брендированные пины – рекламные метки, которые пользователь видит на карте, если его маршрут проходит в радиусе 1 километра от объекта. Они содержат логотип и текстовое объявление либо представляют собой графический баннер.

Такой вид рекламы повышает узнаваемость бренда, предоставляет потенциальным клиентам информацию о расположении ваших точек продаж или обслуживания, специальных предложениях либо акциях. Одним нажатием на метку пользователь откроет рекламное объявление и может скорректировать свой маршрут, чтобы заехать в вашу организацию. Как правило, при этом указывается точная схема проезда.

Помимо текста и изображения рекламное сообщение может содержать кнопки:

  • «Позвонить» – пользователь сможет позвонить вам и узнать все подробности предложения.
  • «На сайт» – потенциальному клиенту предоставляется возможность на страницу с подробной информацией о продукте или услуге компании.

Билборды по маршруту в Навигаторе

Билборды по маршруту в Навигаторе

Билборд по маршруту – рекламный значок с логотипом компании, отображаемый на карте с проложенным маршрутом. Потенциальные клиенты видят отметку, проезжая рядом с рекламируемым объектом. Вы сами можете задать геозону, где будет отображаться билборд. Этот тип рекламы органично смотрится в интерфейсе Навигатора и привлекает потенциальных клиентов, проезжающих поблизости.

Билборд в ЯН – отличный инструмент для предпринимателей, которые хотят сделать бренд известным. Проставление рекламных меток на карте поможет поддержать работу точек дистрибуции в определенных районах города.

При открытии рекламного сообщения становятся доступны любые из кнопок:

Вам интересны интернет-маркетинг и продвижение бизнеса в интернете? Подписывайтесь на наш Telegram-канал!

  • «Позвонить» – совершается звонок в вашу организацию. Отследить конверсию можно с помощью колл-трекинга.
  • «На сайт» – открывается раздел веб-ресурса с подробностями предложения.
  • «Где?» – указываются все места на карте, где можно воспользоваться вашим предложением.

Баннер в Навигаторе

Баннер – разновидность медийной рекламы, рассказывающая о товарах и услугах компании водителям, застрявшим в пробках.

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

Баннер в Навигаторе

Формат баннера используют, когда необходимо:

  • увеличить спрос на товары и услуги;
  • привлечь платежеспособных клиентов;
  • поднять узнаваемость бренда среди аудитории, владеющей автомобилем.

Преимущества баннерной рекламы в Яндекс.Навигаторе

  • привлекательный вид;
  • такой формат не отвлекает водителя во время движения;
  • показы гарантированы.

Как работает реклама

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

Также рекомендуем прочитать статью: 10 важных советов по юзабилити сайта.

Как настроить показы в Яндекс.Навигаторе через Геокабинет

Давайте подробнее рассмотрим, как разместить рекламу в яндекс навигаторе.

Перейдите в личный кабинет и выберите нужный формат:

Показы в Яндекс.Навигаторе

Далее необходимо заполнить форму деталей заказа:

Детали заказа

После создания заказ сохраняется в личном кабинете:

Заказ сохраняется

Открытая страница заказа выглядит примерно так:

Подпишитесь на авторский телеграм-канал про предпринимательство в России.

Открытая страница заказа

Кликнув на соответствующую кнопку, вы можете перейти к созданию собственно рекламной кампании. Далее мы рассмотрим подробности работы в Геокабинете Яндекса на примере пинов по маршруту. Начнем!

Шаг №1

Шаг 1. Задайте основные параметры вашей новой кампании – название, сроки, бюджет. Выберите часовой пояс. Дополнительно вы можете обозначить время и ограничение по показам в день:

Часовой пояс

Шаг 2. Выбираем места показа:

Места показа

Для сетей выбираются места размещения филиалов. После указания организации сразу показывается потенциальный охват аудитории в день.

Учтите, что размещать рекламу можно только на организациях клиента. Кампания не пройдет модерацию, если вы укажете организации прямого конкурента.

Шаг 3. Начинаем оформлять метки. При оформлении вы сразу увидите, как значок будет выглядеть на карте. Есть возможность сразу примерить разные изображения, цвета, надписи. Лого размещают в векторе – форматах svg, ai, баннеры – в png. Текста должно быть не более 55 символов с пробелами.

Оформление меток

Объявление можно увидеть в дневном и ночном режиме:

Шаг 4. Загружаем баннер. Обратите внимание на требование: «Непрозрачный PNG: от 1200×400 пикселей и размер не более 1 МБ». Выполнять это условие нужно строго, иначе баннер просто не загрузится.

Загружаем баннер

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

Выбираем целевое действие

На последнем этапе вы увидите всю информацию и сможете проверить ее:

Последний этап

Если вас все устраивает, можно отправлять кампанию на модерацию и размещение.

Кампания сохранилась в личном кабинете: теперь вы можете ее отредактировать и смотреть статистику, когда она наберется:

Сохранение в личном кабинете

Выводы и впечатления:

  • Интерфейс прост и понятен на интуитивном уровне.
  • Большой плюс – демонстрация изменений. Еще до размещения вы сможете видеть, как ваша реклама будет выглядеть при изменении цвета или картинки, в дневном и ночном режиме.
  • Настройка проста и прозрачна с первого шага. Ограничения по размещению выставляются элементарно.

Стоимость рекламы в Яндекс.Навигаторе определяется вами, но минимальный заказ для пинов и билбордов – 17 500. Оплата идет за 1000 показов (CPM). В их случае цена за такую рекламу в навигаторе будет определяться коэффициентом аудитории и коэффициентом тематики. Подробнее можно прочитать в описании рекламы в Yandex.Навигаторе.

«Яндекс.Навигатор» и «Яндекс.Карты»: несколько советов по запуску рекламы

Рекламироваться на Яндекс.Картах мы советуем, когда сформирован готовый спрос на услуги, так как наша реклама здесь зачастую выступает последней точкой соприкосновения с покупателем — он ищет, где пообедать → на Картах смотрит ближайшие рестораны → знакомится с ними через карточки организаций → бронирует столик в том, который ему больше подходит.

Наша задача здесь выделить компанию, дать полную информацию о ней, продемонстрировать ее сильные стороны, чтобы клиент выбрал именно ее, а не конкурентов.

С Навигатором все немного иначе. Здесь есть несколько форматов рекламы:

1. Пины по маршруту.

Иконка с логотипом бренда будет появляться тогда, когда маршрут будет строиться в радиусе одного км от рекламируемого объекта. Водитель сможет ознакомиться с акциями, позвонить, перейти на сайт или перестроить свой маршрут и заехать к нам.

2. Билборды по маршруту.

В отличие от пинов, билборд можно поставить не только там, где находится филиал, а в любом месте, где мы бы хотели показывать свое объявление.

Объявление компании всплывет внизу карты, когда машина будет длительное время находиться без движения, например, стоять в пробке. Если водитель нажмет на баннер, он увидит рекламный месседж и сможет позвонить по указанному номеру или перейти на сайт.

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

Например, мы использовали такой формат для проекта по автотематике. Компания нашего клиента занимается продажей смазочных материалов, автошин — в общем, всем тем, что рано или поздно понадобится владельцу автомобиля.

Здесь мы убили двух зайцев — тем, кому в данный момент не нужны автотовары, мы только рассказали о нашем бренде, чтобы они имели нас в виду, а тех, кто уже готов совершить покупку — стриггерили обратиться к нам.

Нюансы настройки рекламных кампаний

Процесс настройки рекламы на Яндекс.Картах и в Навигаторе в целом схож — нужно добавить информацию о компании и медийные материалы, причем форматы изображений должны соответствовать требованиям системы.

Таблица рекламных материалов с требованиями к изображениям. Для всех общий формат — PNG и максимальный размер — до 1 MB

Настройка Яндекс.Навигатора

Так как размещение рекламы в Навигаторе находится на стадии бета-тестирования, самостоятельно настроить кампанию здесь пока нельзя — нужно обращаться либо в агентство, либо в сам Яндекс. Поэтому подробно останавливаться на этапах настройки мы не будем — расскажем только то, что вам пригодится.

И при обращении в Яндекс, и при обращении в агентство вам нужно будет самостоятельно предоставить материалы для рекламы — информацию о компании, адреса филиалов, номер телефона, баннеры, логотипы, подробности акций и т. д. Выбирая изображения, ориентируйтесь на нашу таблицу с форматами.

Важно: метка на карте с логотипом бренда будет в форме круга, поэтому в углах не должно быть никакой информации — она обрежется.

В дальнейшем рекламные материалы можно поменять, однако, учитывайте, что делать это через Яндекс дольше, чем через агентство. В первом случае нужно оставить обращение, дождаться, когда до его рассмотрения дойдет очередь (все-таки вы не одни рекламируетесь в Навигаторе), а во втором — просто обратиться к своему менеджеру, который сразу отреагирует на ваши пожелания.

У нас в KINETICA изменения в рамках одной РК вносятся в течение 20–30 минут после обращения клиента. Поэтому если у вас постоянно меняются акции или вы продаете сезонные товары, то лучше делать выбор в пользу агентств.

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

Чтобы реклама в Навигаторе охватила больше людей, нужно не только указать базовые параметры компании, но и грамотно подойти к настройке технических моментов — установить ограничение показов, выбрать кнопки для триггера «позвонить» или «на сайт», решить, какие филиалы показывать.

Агентство все это берет на себя, а вот при настройке через Яндекс эти моменты придется продумывать самостоятельно, поэтому дадим 3 совета, как сделать рекламу эффективнее.

Установите ограничение показов

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

Допустим, из трех машин мы уже дважды показывались одной, а двум другим — ни разу. Если у нас есть ограничение, то вероятность, что они увидят нас, а не конкурентов, будет выше, так как за показ первой мы уже бороться не будем. Таким образом мы увеличим охват аудитории.

Но тут нужно учитывать тематику бизнеса. Для проекта по обучающим курсам мы выставили ограничение — 3 показа. Здесь мы понимали, если человек трижды увидел рекламу и не отреагировал на нее, то показывать ему ее в 4 раз нет смысла. Лучше сосредоточиться на других пользователях.

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

Добавьте филиалы

Казалось бы, чем больше рекламируешься, тем лучше. Но как показывает наш опыт, это не всегда так. Если у клиента 4 офиса в одном городе, но 3 из них в местах высокой «проезжаемости», а третий — на окраине, где нет бурного потока машин, рекламироваться в 4 бессмысленно, так как метку там мало кто увидит.

Тут нужно учесть один важный момент — за изменение точек показов будет списываться дополнительная плата, причем как за добавление филиалов, так и за исключение их, так что если настраиваете рекламу через Яндекс, заранее продумайте, где выгоднее всего рекламироваться — агентство в этом плане может изначально проанализировать ситуацию и дать рекомендации еще до настройки РК.

Выберите кнопку «Позвонить» или «На сайт»

В Навигаторе отображаются две кнопки. Одна фиксированная «Заехать», а вторая на выбор «Позвонить» или «На сайт». При выборе мы советуем отталкиваться от специфики деятельности — если вы оказываете услуги, то лучше отправлять клиентов сразу на сайт, чтобы они могли бегло просмотреть, чем вы занимаетесь и что предлагаете.

А вот для магазинов лучше отработает кнопка «Позвонить» так как за рулем неудобно просматривать весь каталог товаров — проще поговорить с менеджером и сразу узнать, есть ли определенный товар в наличии и какая у него цена.

Настройка Яндекс.Карт

Рекламу на Картах, в отличие от Навигатора, можно настроить самостоятельно. Но если в Навигаторе полей немного, то на Картах нужно заполнить гораздо больше позиций — профиль на Картах представляет собой мини-лендинг, поэтому, помимо базовых параметров, нужно добавить множество рекламных материалов.

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

Правильно задайте рубрики

Для Яндекс.Карт очень важно указать правильный набор рубрик — показываться по той тематике, которая у вас не добавлена, вы не будете. Например, если у вас не добавлена рубрика «Смазочные материалы», то и по запросу «Автомасла» вас не найдут.

Сами рубрики можно посмотреть в рубрикаторе мест и организаций Яндекса. Но здесь есть не все, например, тех же «Смазочных материалов» нет — вместо этого предлагается только «Автокосметика, автохимия».

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

Заполните все позиции рекламных материалов

К рекламным материалам относятся:

  • логотип и баннер для заголовка;
  • акции;
  • витрина товаров;
  • брендированная метка;
  • добавление партнерских ссылок.

Требования к форматам изображений можете смотреть в нашей таблице в начале статьи.

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

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

  • Для логотипа используйте фирменный значок бренда, чтобы повысить его узнаваемость.
  • Для баннеров на заголовок возьмите фото помещения внутри и снаружи, схему проезда, ваше портфолио — все, что позволит клиенту лучше узнать вас и поможет воспользоваться вашими услугами.
  • Для акций используйте броское изображение, на котором будут перечислены основные условия спецпредложения.

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

Что касается брендированной метки, то здесь мы еще не можем с уверенностью говорить о ее эффективности — да, она выделяет компанию на карте среди конкурентов, но насколько это рентабельно, при стоимости-то от 149 000 ₽, судить сложно.

Если вы все-таки хотите выделиться, то за настройкой нужно обращаться либо в агентство, либо в Яндекс — функции добавления брендированной метки для пользователей в настройках нет.

Партнерские ссылки — Яндекс.Еда, Афиша.Рестораны, DocDoc и т. п. — мы отключаем. Никакой практической пользы нам это не приносит — только отвлекает клиентов от нашего предложения на чужую рекламу.

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

Правда, сделать это можно, если заключен договор с партнером Яндекса, например, чтобы добавить кнопку «Забронировать столик» нужен договор с сервисом Афиша.Рестораны или Томесто.

Как отследить эффективность рекламы

Оценивать эффективность позволяет статистика. На ее основе можно провести A/B тесты и оптимизировать рекламу.

В Картах мы видим только посещаемость и действия, которые совершали пользователи в карточке.

Здесь мы отслеживаем количество дискавери-переходов — ключевых фраз, связанных с нашей деятельностью, и прямых — брендовых запросов.

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

В Навигаторе данных побольше — здесь мы видим CTR, количество всех показов и уникальных, сколько мы потратили на рекламу, какое количество кликов было совершено, сколько маршрутов перестроено и т. д.

Сложность в том, что все коэффициенты для оценки эффективности приходится считать вручную. Мы пользуемся формулами, например, CR маршрутов считаем так:

Для проекта по автотематике мы получили CR по построению маршрута 13% — на Картах и 4% — в Навигаторе. Такая разница обусловлена тем, что Навигатор выполняет более медийную роль, чем Карты — пользователи видят нашу рекламу, запоминают наш бренд, но целевые действия совершают реже.

Анализировали именно построение маршрута, так как здесь наиболее точно можно понять, насколько реклама эффективна — человек мог открыть сайт, посмотреть и закрыть его или кликнуть по номеру телефона, но не позвонить — а вот если он перестроил маршрут, то он с высокой долей вероятности заехал к нам и воспользовался нашими услугами.

Для сравнения мы посмотрели CR в Яндекс.Директе по похожей цели — отслеживали, какое количество пользователей на сайте открыло в карточке товара адреса продажи конкретной позиции. Показатели были такие же, как в Навигаторе — 4%.

Но здесь, в отличие от геосервисов, у нас было меньше уверенности, что все 4% поехали за покупкой этого товара: одно дело просто поинтересоваться, где он продается, и другое — построить маршрут в конкретную точку.

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

Начать тестировать геосервисы рекомендуем именно с Яндекс.Карт. Несмотря на то что в Навигаторе больше данных, Карты позволяют лучше понять, насколько эффективно отработала кампания — здесь совершается больше целевых действий, чем в Навигаторе.

Android — фильтруем пины на карте, в зависимости от расстояния друг от друга

Довелось как то недавно делать проект с использованием google maps. В один из моментов, увидел я вот такую картину:

Это происходило, как вы догадались, когда рядом находилось слишком много мест, которые требовалось отображать. Ну ничего – проблема то вроде стандартная – много у кого должно было такое встречаться, наверняка разработчики предусмотрели группировку и фильтрацию… Ага, ни тут то было! Просмотрев документацию(сразу признаюсь что только бегло – возможно и упустил то что мне нужно) и спросив у гугла – к своему удивлению быстро ничего нужного найти не удалось. Ну ничего – не боги горшки обжигают – значит напишем сами.

Для начала создадим проект и подключим к нему google maps api. Тут я думаю объяснять ничего не надо – про это много уже было написано, вот кстати ссылки и на хабре – раз, два, три.

Cначала определимся что да как должно работать. Поехали…

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

1) При первоначальной загрузке пинов на карту.
2) При изменении zoom

С первым пунктом в принципе все ясно – давайте определимся со вторым. Объявим интерфейс:

public interface IOnZoomListener

И модифицируем наш MapView вот таким образом:

public class MyMapView extends MapView < int oldZoomLevel = -1; IOnZoomListener onZoomListener; public MyMapView(Context context, AttributeSet attrs, int defStyle) < super(context, attrs, defStyle); >public MyMapView(Context context, String apiKey) < super(context, apiKey); >public MyMapView(Context context, AttributeSet attrs) < super(context, attrs); >public void setOnZoomListener(IOnZoomListener onZoomListener) < this.onZoomListener = onZoomListener; >@Override public void dispatchDraw(Canvas canvas) < super.dispatchDraw(canvas); int newZoom = this.getZoomLevel(); if (newZoom != oldZoomLevel) < if (oldZoomLevel != -1 && onZoomListener != null) < onZoomListener.onZoomChanged(); >oldZoomLevel = getZoomLevel(); > > >

Здесь мы просто добавили возможность регистрации нашего интерфейса и проверку при отрисовке на изменение ZoomLevel(если ZoomLevel поменялся – дергаем метод нашего интерфейса).

Теперь определимся с тем, как мы будем отображать пины на карте и как объединять их в группы. Для этого создадим class MyOverlayItem унаследованный от OverlayItem вот с такими дополнениями:

public class MyOverlayItem extends OverlayItem < private String name; private ArrayListlist = new ArrayList(); public MyOverlayItem(GeoPoint point, String name) < super(point, "", ""); this.name = name; >public String getName() < if (list.size() >0) < return "There are " + (list.size() + 1) + " places."; >else < return name; >> public void addList(MyOverlayItem item) < list.add(item); >public ArrayList getList() < return list; >>

В ArrayList list будет храниться список сгруппированных пинов, а метод getName будет возвращать нам либо имя объекта, либо их количество в группе.

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

 boolean isImposition; for (MyOverlayItem itemFromAll : myOverlaysAll) < isImposition = false; for (MyOverlayItem item : myOverlays) < if (itemFromAll == item) < isImposition = true; break; >if (isImposition(itemFromAll, item)) < item.addList(itemFromAll); isImposition = true; break; >> if (!isImposition) < myOverlays.add(itemFromAll); >>

Сначала для проверки расстояния, я хотел использовать просто координаты пинов(погрешностью, возникающей в зависимости от широты, можно пренебречь, так как расстояния не велики), но тогда пришлось бы еще и контролировать ZoomLevel.
Для моих задач вполне подошел метод mapView.getLatitudeSpan который возвращает расстояние видимой ширины экрана в нужной нам системе координат. Осталось только поделить это расстояние на некий коэффициент(сколько максимально пинов должно «влезать» в экран по ширине) – это и будет минимальное расстояние между пинами:

private boolean isImposition(MyOverlayItem item1, MyOverlayItem item2) < int latspan = mapView.getLatitudeSpan(); int delta = latspan / KOEFF; int dx = item1.getPoint().getLatitudeE6() - item2.getPoint().getLatitudeE6(); int dy = item1.getPoint().getLongitudeE6() - item2.getPoint().getLongitudeE6(); double dist = Math.sqrt(dx * dx + dy * dy); if (dist < delta) < return true; >else < return false; >>

Вот на всякий случай полный исходник класса:

public class PlaceOverlay extends ItemizedOverlay  < private static final int KOEFF = 20; private ArrayListmyOverlaysAll = new ArrayList(); private ArrayList myOverlays = new ArrayList(); private MapView mapView; public PlaceOverlay(Drawable defaultMarker, MapView mapView) < super(boundCenterBottom(defaultMarker)); this.mapView = mapView; populate(); >public void addOverlay(MyOverlayItem overlay) < myOverlaysAll.add(overlay); myOverlays.add(overlay); >public void doPopulate() < populate(); setLastFocusedIndex(-1); >@Override protected MyOverlayItem createItem(int i) < return myOverlays.get(i); >@Override public int size() < return myOverlays.size(); >private boolean isImposition(MyOverlayItem item1, MyOverlayItem item2) < int latspan = mapView.getLatitudeSpan(); int delta = latspan / KOEFF; int dx = item1.getPoint().getLatitudeE6() - item2.getPoint().getLatitudeE6(); int dy = item1.getPoint().getLongitudeE6() - item2.getPoint().getLongitudeE6(); double dist = Math.sqrt(dx * dx + dy * dy); if (dist < delta) < return true; >else < return false; >> public void clear() < myOverlaysAll.clear(); myOverlays.clear(); >public void calculateItems() < myOverlaysClear(); boolean isImposition; for (MyOverlayItem itemFromAll : myOverlaysAll) < isImposition = false; for (MyOverlayItem item : myOverlays) < if (itemFromAll == item) < isImposition = true; break; >if (isImposition(itemFromAll, item)) < item.addList(itemFromAll); isImposition = true; break; >> if (!isImposition) < myOverlays.add(itemFromAll); >> doPopulate(); > private void myOverlaysClear() < for (MyOverlayItem item : myOverlaysAll) < item.getList().clear(); >myOverlays.clear(); > @Override protected boolean onTap(int index) < Toast.makeText(mapView.getContext(), myOverlays.get(index).getName(), Toast.LENGTH_SHORT).show(); return true; >>

Ах да – в методе onTap мы выводим Toast с именем группы – для наглядной демонстрации работы алгоритма.

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

Теперь давайте разберемся как все это собрать воедино.
Создадим ManyPinsProjectActivity которое унаследуем от MapActivity и реализуем следующие интерфейсы: LocationListener, IOnZoomListener. Впрочем не буду расписывать все подробно – исходники все расскажут за меня:

public class ManyPinsProjectActivity extends MapActivity implements LocationListener, IOnZoomListener < private static final int DEFAULT_ZOOM = 15; private MyMapView mapView = null; private Drawable myCurrentMarker = null; private Drawable placeMarker = null; private ListmapOverlays; private PlaceOverlay placeOverlay; private MyCurrentLocationOverlay myCurrentLocationOverlay; double currentLatitude, currentLongitude; private MapController mapController; private LocationManager locationManager; @Override public void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); setContentView(R.layout.main); locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); mapView = (MyMapView) findViewById(R.id.mapview); myCurrentMarker = this.getResources().getDrawable(R.drawable.my_pin_red); placeMarker = this.getResources().getDrawable(R.drawable.my_pin); myCurrentLocationOverlay = new MyCurrentLocationOverlay(myCurrentMarker, mapView); placeOverlay = new PlaceOverlay(placeMarker, mapView); mapOverlays = mapView.getOverlays(); mapController = mapView.getController(); mapView.setBuiltInZoomControls(true); mapView.setOnZoomListener(this); >private void animateToPlaceOnMap(final GeoPoint geopoint) < mapView.post(new Runnable() < @Override public void run() < mapView.invalidate(); mapController.animateTo(geopoint); mapController.setZoom(DEFAULT_ZOOM); >>); > private void setCurrentGeopoint(double myLatitude, double myLongitude) < currentLatitude = myLatitude; currentLongitude = myLongitude; final GeoPoint myCurrentGeoPoint = new GeoPoint((int) (myLatitude * 1E6), (int) (myLongitude * 1E6)); MyOverlayItem myCurrentItem = new MyOverlayItem(myCurrentGeoPoint, "Current Location"); myCurrentLocationOverlay.addOverlay(myCurrentItem); mapOverlays.add(myCurrentLocationOverlay); animateToPlaceOnMap(myCurrentGeoPoint); >@Override protected void onPause() < super.onPause(); locationManager.removeUpdates(this); >@Override protected void onResume() < super.onResume(); locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 100, this); >private ArrayList generatePlaces() < Random random = new Random(); int x, y; ArrayListplaces = new ArrayList(); PlaceInfo p; for(int i = 0; i < 100; i++)< x = random.nextInt(2000); y = random.nextInt(2000); p = new PlaceInfo(); p.setLatitude(currentLatitude + x/100000f); p.setLongitude(currentLongitude - y/100000f); p.setName("Place № " + i); places.add(p); >return places; > private void displayPlacesOnMap() < ArrayListplaces = generatePlaces(); mapOverlays.remove(placeOverlay); GeoPoint point = null; MyOverlayItem overlayitem = null; placeOverlay.clear(); for (PlaceInfo place : places) < point = new GeoPoint((int) (place.getLatitude() * 1E6), (int) (place.getLongitude() * 1E6)); overlayitem = new MyOverlayItem(point, place.getName()); placeOverlay.addOverlay(overlayitem); >placeOverlay.calculateItems(); placeOverlay.doPopulate(); if (placeOverlay.size() > 0) < mapOverlays.add(placeOverlay); mapView.postInvalidate(); >> @Override public void onLocationChanged(Location location) < locationManager.removeUpdates(this); double myLatitude = location.getLatitude(); double myLongitude = location.getLongitude(); setCurrentGeopoint(myLatitude, myLongitude); displayPlacesOnMap(); >@Override public void onStatusChanged(String provider, int status, Bundle extras) < >@Override public void onProviderEnabled(String provider) < >@Override public void onProviderDisabled(String provider) < >@Override protected boolean isRouteDisplayed() < return false; >@Override public void onZoomChanged() < if (placeOverlay != null) < placeOverlay.calculateItems(); >> >

Тут стоит добавить что MyCurrentLocationOverlay – это обычный ItemizedOverlay с одним элементом, а PlaceInfo – обычный класс обертка содержащий в себе:

 private String name; private double latitude; private double longitude;

После всех этих манипуляций – вот как стала выглядеть наша карта с пинами:

Надеюсь статья окажется вам полезной.

Весь проект можно найти по ссылке.

Актуальное в георекламе Яндекса: инструменты и кейсы

Команда агентства Artics Internet Solutions подготовила обзор рекламных форматов в Яндекс.Картах и Навигаторе и рассказала о кейсах клиентов.

Артикс ㅤ Агентство ответственного маркетинга

Ещё больше полезных статей и смешных мемов в нашем Telegram-канале

Возможности георекламы растут. Год назад мы могли таргетироваться только на пользователей в ближайшем радиусе, сегодня — коммуницировать с теми, кто строит маршруты в Яндекс.Картах и Яндекс.Навигаторе. Это позволяет увеличить точки касания с пользователем и продемонстрировать свои скидки и акции.

Размещение в Яндекс.Навигаторе

Яндекс.Навигатор — инструмент, который позволяет коммуницировать как с «холодными клиентами», которые не выполняют действия по отношению к вашему продукту и просто проезжают неподалеку, так и с «теплыми», которые заинтересованы в ваших услугах. Например, прошлом году в Яндекс.Навигаторе появилась возможность настраивать таргетинги по соцдему и интересам.

Пины по маршруту

Когда пользователь проезжает мимо локации (примерно в километре от нее), он видит пин по маршруту — метку рекламодателя, при нажатии на которую открывается кнопка «Заехать» или «Позвонить».

Пин по маршруту

По данным Яндекса, 78% пользователей видят и запоминают рекламу в Навигаторе, а 63% запоминают локацию рекламодателей.

Основная задача этого формата — рост знания о расположении объекта. Даже если пользователь не поедет туда прямо сейчас, он запомнит, что видел на карте метку, и вспомнит о ней, когда это понадобится.

Стоимость пина

Кейс дилера Toyota

Что рекламируем: дилерские центры в Измайлово и Люберцах

Срок размещения: три месяца

Формат: брендированные пины в Яндекс.Навигаторе

Результаты: CTR — 0,33%

Подробнее — на Cossa.

Руслан Королёв

Руслан Королёв Artics Internet Solutions

Брендированные пины отлично подходят для привлечения аудитории в офлайн-точки. Автомобилисты — аудитория Яндекс.Навигатора, поэтому это подходящий канал их привлечения в дилерские центры. За период с марта по май 2018 года CTR по обоим источникам (пины и РСЯ) составил 0,33%. Для дилерских центров Toyota пины стали полезным дополнением для рекламной кампании в РСЯ и принесли дополнительный охват.

Билборды по маршруту

Это формат, где показ рекламы можно настраивать без привязки к конкретной точке продаж, рекламодатель сам выбирает место расположение билборда. Пользователь увидит рекламную метку, когда будет находится на расстоянии 50-500 м от виртуального щита.

Например, рекламодатель — застройщик. Если он поставит метку только на свой ЖК, то охватит аудиторию, которая передвигается в непосредственной близости от него. Но аудитория гораздо шире, поэтому есть смысл настроить билборды в радиусе 5-7 км от комплекса. Это же работает почти с любым бизнесом: магазинами, салонами красоты, фитнес-центрами и так далее.

При клике на метку показывается рекламный баннер — промооффер с промокодом или без него. Пользователь может сохранить оффер, чтобы воспользоваться им позднее. В расхлопе есть кнопка «Где?», при нажатии на которую отображаются все объекты, если это сеть, и ставится точка на ближайшем, куда сразу можно построить маршрут. Билборды всегда нужно таргетировать и показывать только тем, кто потенциально заинтересован в предложении.

Билборды в картахСтоимость билборда

Баннеры во время остановок

Когда пользователь стоит в пробке Яндекс.Навигатор показывается баннер рекламодателя, из которого открывается расхлоп — переход на сайт или кнопка «Позвонить».

Баннер в пробке

Также компании могут создавать подходящие креативы. Например, в рекламе своего голосового помощника «Алисы» Яндекс предлагал водителям поиграть с ней в города, пока те стоят в пробке.

Стоимость баннера в пробке

Объявления при подъезде к ТЦ или АЗС

Еще один новый формат. Когда пользователь сворачивает на парковку ТЦ, ему открывается штора с предложениями. Например, он приехал в «Ашан» за продуктами, а приложение показывает интересные предложения брендов в соседней «Меге».

Это также хороший способ отстроиться от других брендов. Если в ТЦ пять кофеен, и пользователю непринципиально, в какую из них зайти, высветившееся в этот момент спецпредложение о подарке или скидке может определить его выбор.

То же с АЗС, основную прибыль которых составляют сопутствующие товары, а не бензин. Для них это возможность рассказать об интересных продуктах.

Объявления для АЗС

Подробности о формате и стоимости размещения можно узнать через менеджера в Яндексе.

Размещение в Яндекс.Картах

Ежемесячная аудитория Яндекс.Карт — 33 млн человек. Больше только у главной Яндекса, у которой огромные пороги входа: от миллиона рублей за неделю размещения.

Баннер на главной

Такие баннеры размером 300×250 работают только на десктопе. Формат позволяет с помощью таргетинга найти наиболее подходящую аудиторию пользователей.

Стоимость баннера на главной

Приоритетное размещение

Как выделиться на Яндекс.Картах среди конкурентов в вашем районе? Для этого есть инструмент «Приоритетное размещение». В чем его преимущества?

Приоритетное размещение в поиске

  1. Первые места выдачи в веб и мобильных картах. Одно из десяти в веб-картах (по статистике, 9 из 10 пользователей кликают на одну из первых десяти карточек), одно из пяти в мобильных. Если рекламодатель добавляет акцию, она будет выделена отдельно и привлечет больше внимания.
  2. Зеленая метка на карте. В отличие от других пользователей рекламодатели получают зеленую метку, CTR которой на 10% выше обычной синей.
  3. Метка и карточка в Яндекс.Навигаторе. В рекламных объявлениях миникарточка расхлопывается сразу после поиска, есть быстрые кнопки для звонка и построения маршрута, в карточке организации отображаются акции.
  4. Показ в карточках конкурентов. Внизу карточки есть блок «Похожие» (30% пользователей кликают на него), в котором рекламодатели размещаются на верхних местах. В рекламной карточке такого блока нет.
  5. Брендирование логотипом и фото.

Кейс в тематике недвижимости

Что рекламируем: жилая и коммерческая недвижимость

Срок размещения: 145 дней

Формат: приоритетное размещение в Яндекс.Картах»

Результаты: CPA с размещения на более чем 90% ниже, чем CPA с контекстной рекламы

Евгений Лейман

Евгений Лейман специалист по контекстной рекламе Artics Internet Solutions

На Картах можно бесплатно заполнить и редактировать карточку компании, а благодаря приоритетному размещению добавить информацию с акцией, витрину с товарами (в недвижимости на витрине можно показать объекты застройщика или планировки с ценами) и показываться сверху поисковой выдачи в картах. И еще один важный плюс платного размещения — Яндекс.Справочник помогает отследить пользователей, позвонивших с Яндекс.Карт. И все это решает общую задачу бренда — увеличение числа заявок.

Рекламодатель может рассказывать о скидках и предложениях или специальных условиях для пользователей Яндекс.Карт. В разделе «Акции» отображается анонс, по клику на него расхлопывается блок, в котором можно разместить баннер, ссылку на сайт и отследить, сколько человек по ней пришло. Начало и конец акции настраивается через личный кабинет в Справочнике.

В ней можно разместить до десяти товаров или услуг с ценами и фотографиями, чтобы пользователи быстрее поняли, что предлагает организация.

Витрина

Яндекс собирает данные о компании из разных источников, и часто они не совпадают. Чтобы информация в карточке не менялась, можно включить защиту от любых внешних изменений на 30 дней. У рекламодателей такая защита включается автоматически до конца срока рекламной кампании.

Стоимость приоритетного размещения

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

Кейс «Доктор Рядом»

Что рекламируем: сеть медицинских клиник с 12 филиалами

Срок размещения: полтора месяца

Формат: приоритетное размещение в «Картах»

Результаты: количество целевых звонков из Карт выросло на 30%

Параллельно рекламодатель начал работать с контентом в карточке: добавил витрину услуг, регулярно обновлял акции. Число целевых звонок выросло еще на 15%. Яндекс.Карты стали вторым по объему звонков каналом и самым эффективным по стоимости привлечения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *