Как добавить организацию на Яндекс.Карты и в Справочник: пошаговая инструкция

image

Вот смотрите: я Вам (например) отправляю свою геолокацию. Отправляется она либо через iM, либо через иные мессенджеры, поддерживающие данную функцию. Но пересылается (мы говорим про айфон) только родная карта Эпол производства Том-Том. Или можно иную карту отправить? – если КАК-ТО можно, то вопрос в КАК – и тогда всё остальное снимается; если НИКАК, только родную – то, предполагаю, как-то можно оттуда вытащить координаты и забить их в навигатор от Яндекса или от 2ГИС? Как бы Вы поступили? Практическое применение данной задачи объяснять, наверное, лишне, тем не менее, стоит заметить, что родные карты пока отвратительно прорисованы для РФ; где-то локально рулит Яндекс, где-то Гугл (я пробовал в Алтайских горах близ озера Телецкое), где-то (например, ситуация с дачным обществом в пригороде, описанная в тех самых комментах) – бесспорно 2ГИС. )))

В этой статье мы научимся пересылать координаты с 2ГИС, Яндекс Карт и Google Maps с помощью мессенджеров, которые установлены на вашем iOS-устройстве.

2ГИС

image

  • Нажимаем пальцем на точку на карте;
  • Протягиваем белое поле снизу наверх, чтобы появились иконки;
  • Нажимаем на иконку с прямоугольничком и стрелочкой;
  • Выбираем нужный мессенджер или приложение и нажимаем на него. Если его нет, нажимаем на кнопку Еще;
  • Делаем активными те приложения которые нам нужны, после чего нажимаем кнопку готово. На предыдущем экране появляется кнопочка мессенджера. Кликаем на нее и соглашаемся со всем, что предлагает устройство;
  • После этого открываем мессенджер и проверяем, отправилась ли ссылка.

Яндекс

  • Нажимаем на точку на карте;
  • В нижнем меню выбираем пункт меню Что здесь?;
  • Копируем координаты в буфер обмена (чтобы вставить куда-то точные цифровые значения), либо нажимаем на кнопку Поделиться;
  • Дальше действуем как в предыдущей инструкции.

Google

  • Нажимаем на точку на карте;
  • Тянем нижний блок вверх, чтобы появилась кнопка Поделиться;
  • Нажимаем на нее и действуем как обычно.

Если ваш друг или вы предпочитаете какие-то другие карты, то можно скопировать точные координаты из Яндекс.Карт и попытаться вбить их в поиск. Должно сработать. А вот ссылки в App Store на приложения из статьи:

Рассмотрим, как отправить координаты с устройства на Android.

Как передать геоданные через Google Карты

Чтобы поделиться местоположением, выполните следующие действия:

Шаг 1. Откройте приложение Google Карты и войдите в свой аккаунт. Для этого укажите адрес электронной почты и нажмите «Далее».

Шаг 2. Затем введите пароль и нажмите кнопки «Далее».

Шаг 3. Коснитесь значка своего профиля.

Шаг 4. Выберите пункт «Передача геоданных».

Шаг 5. Нажмите кнопку «Поделиться местоположением».

Шаг 6. Откройте доступ приложению к контактам, сохраненным на устройстве. Для этого выберите «Разрешить».

Шаг 7. Установите время, в течение которого геоданные будут видны другим пользователям. Для этого воспользуйтесь кнопками «+» и «-».

Шаг 8. Выберите пользователя, которому нужно сообщить координаты. Если выбранный контакт не связан с аккаунтом Google, ему будет отправлено СМС-сообщение с текущим местоположением. Подтвердите действие кнопкой «ОК».

Шаг 9. Нажмите «Показывать».

Шаг 10. Приложение предложит отправить ссылку с координатами через SMS. Нажмите «Отправить».

Шаг 11. Чтобы прекратить отслеживание местоположения для пользователя, откройте пункт «Доступ по ссылке».

Шаг 12. Нажмите «Остановить».

Обратите внимание! По окончанию заданного пользователем времени, функция отслеживания местоположения будет автоматически отключена.

Как поделиться своим местоположением в WhatsApp

Отправлять координаты можно и через мессенджер WhatsApp. Вот как это сделать:

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

Шаг 2. Выберите раздел «Приложения и уведомления».

Шаг 3. Откройте пункт «Дополнительно».

Шаг 4. Зайдите в раздел «Управление разрешениями».

Шаг 5. Выберите пункт «Местоположение».

Шаг 6. Найдите в списке приложение «WhatsApp» и нажмите по нему.

Шаг 7. Отметьте пункт «Разрешить только во время использования приложения».

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

Шаг 9. Коснитесь значка «Место».

Шаг 10. Выберите пункт «Делиться геоданными».

Шаг 11. Подтвердите действие, нажав на кнопку «Далее».

Шаг 12. Настройте время, на протяжении которого геоданные будут видны другому пользователю, и нажмите значок «Отправить».

Шаг 13. Чтобы прекратить делиться геоданными, в чате нажмите кнопку «Перестать делиться».

Шаг 14. Подтвердите действие, коснувшись кнопки «Стоп».

Шаг 15. В чате будет отображаться сообщение о том, что геоданные неактивны.

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

Использование API Яндекс.Карт

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

Навигация по статье:

Получение API-ключа

Чтобы использовать API Яндекс.Карт нам понадобится свой ключ, который любезно предоставит Яндекс после регистрации по этой ссылке. После регистрации нам будет доступно подключение различных API Яндекса. Из всего перечня нас интересует JavaScriptAPI и HTTP Геокодер. Откроется форма, где нам предложат ответить на «несколько вопросов»: ввести контактные данные, а так же ссылку на сайт, где будет использоваться API.

Далее, создайте новый ключ.

И вот перед нами заветные цифры.

Вывод карты

Ключ у нас есть и теперь мы можем заняться выводом карты. Для этого вставим полученные цифры в данную строчку:

 

Полученный код необходимо разместить в head вашего сайта.

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

Далее, определим контейнер для вывода карты в теле сайта. В нашем случае это будет div c id=»map»:

    

У себя я так же инлайново добавлю стили, чтобы карта растянулась по высоте, так как работаю с пустым тестовым документом (если вы работаете над реальным проектом, то, возможно, блок, в который вы поместите карту уже будет иметь высоту). Но, если что, вот стили:

       html, body, #map {         width: 100%; height: 100%; padding: 0; margin: 0;     }    

Затем создадим и подключим к странице js файл, в котором будем задавать координаты, а так же другие параметры карты (сейчас в карту просто нечего помещать, поэтому она не отобразится).

Я создам файл по аналогии с тем, что предлагает сам Яндекс, а именно icon_customImage.js со следующим содержимым:

  ymaps.ready(function () {     var myMap = new ymaps.Map('map', {         center: [55.751574, 37.573856],         zoom: 9     }, {         searchControlProvider: 'yandex#search'     }),      // Создаём макет содержимого.     MyIconContentLayout = ymaps.templateLayoutFactory.createClass(         '$[properties.iconContent]'     ),      myPlacemark = new ymaps.Placemark(myMap.getCenter(), {         hintContent: 'Собственный значок метки',         balloonContent: 'Это красивая метка'     }, {         // Опции.         // Необходимо указать данный тип макета.         iconLayout: 'default#image',         // Своё изображение иконки метки.         iconImageHref: 'images/myIcon.gif',         // Размеры метки.         iconImageSize: [30, 42],         // Смещение левого верхнего угла иконки относительно         // её "ножки" (точки привязки).         iconImageOffset: [-5, -38]     }),      myPlacemarkWithContent = new ymaps.Placemark([55.661574, 37.573856], {         hintContent: 'Собственный значок метки с контентом',         balloonContent: 'А эта — новогодняя',         iconContent: '12'     }, {         // Опции.         // Необходимо указать данный тип макета.         iconLayout: 'default#imageWithContent',         // Своё изображение иконки метки.         iconImageHref: 'images/ball.png',         // Размеры метки.         iconImageSize: [48, 48],         // Смещение левого верхнего угла иконки относительно         // её "ножки" (точки привязки).         iconImageOffset: [-24, -24],         // Смещение слоя с содержимым относительно слоя с картинкой.         iconContentOffset: [15, 15],         // Макет содержимого.         iconContentLayout: MyIconContentLayout     });      myMap.geoObjects         .add(myPlacemark)         .add(myPlacemarkWithContent);   }); 

Теперь, если мы обновим страницу, то увидим карту без маркеров. Уже кое-что.

Замена маркера

Данный демонстрационный файл уже настроен на добавление двух маркеров с разными иконками, но, поскольку у нас нет этих иконок, они не отображаются на карте. Чтобы это исправить, добавим для маркеров свои иконки. Я буду использовать иконки из Witcher 3, которые нарисовал для урока 🙂

   // Своё изображение иконки метки.     iconImageHref: 'witcher-marker.svg', // Адрес до картинки     // Размеры метки.     iconImageSize: [60, 84],     // Смещение левого верхнего угла иконки относительно     // её "ножки" (точки привязки).     iconImageOffset: [-5, -38] 

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

Функция для добавления нескольких адресов на карту

Меняем демонстрационный скрипт

Для того, чтобы удобно добавлять метки на карту, я написал следующую функцию:

ymaps.ready(function () {    // Поиск координатов: https://yandex.ru/map-constructor/location-tool/    var myMap = new ymaps.Map('map', {           // Задаем центр карты           center: [59.94267813289089,30.316415999999972],           // И масштаб           zoom: 15       }, {           searchControlProvider: 'yandex#search'       }),        // Создаём макет содержимого.       MyIconContentLayout = ymaps.templateLayoutFactory.createClass(           '$[properties.iconContent]'       );          var createPlacemark = function(markerId, coord_1, coord_2, markerImage, name, addr) {      markerId = new ymaps.GeoObject({       geometry: {         type: "Point",         coordinates: [+coord_1, +coord_2]       },       properties: {         hintContent: name,         balloonContent: addr       }     }, {         // Опции.         // Необходимо указать данный тип макета.         iconLayout: 'default#image',         // Своё изображение иконки метки.         iconImageHref: markerImage,         // Размеры метки.         iconImageSize: [46, 46],         // Смещение левого верхнего угла иконки относительно         // её "ножки" (точки привязки).         iconImageOffset: [-5, -38]     });      myMap.geoObjects.add(markerId);   };    // Добавление маркеров на карту   createPlacemark('myPlacemark_1', '59.94267813289089', '30.316415999999972', 'witcher-power-place.svg', 'Место силы', 'Санкт-Петербург, Эрмитажная пристань ');   createPlacemark('myPlacemark_2', '59.93545363045839', '30.326887343994116', 'witcher-marker.svg', 'Квест 1', 'Вход в метро');   createPlacemark('myPlacemark_3', '59.93598684451666', '30.314752621881883', 'witcher-marker.svg', 'Квест 2', 'Вход в метро');  }); 

Вызывая функцию с необходимыми параметрами, мы создаем метки на карте. Как видите, можно задать разные иконки для каждой метки. Центр карты, а так же масштаб задаются в начале файла (помечено комментариями).

Определение координат для Яндекс Карты

Координаты для меток можно брать отсюда. Все просто: ищите адрес или объект на карте и забираете себе координаты этого места (координаты отображаются в правом нижнем углу). Там же можно определить координаты центра карты и масштаб.

Заключение

Подробнее узнать о Яндекс.API и, в частности, об API карт и замене маркера вы можете по ссылке на офф.инструкцию.

Автоматическое добавление на карту любых точек по адресу (Филиалы, дилеры, офисы по стране). Для одного из проектов понадобилось удобно разместить на Яндекс-карте офисы всех дилеров компании по стране. Желательно конечно автоматизировать процесс, чтобы все далее добавленные офисы автоматически добавлялись на карту, без копания в коде и прописывания координат каждой новой точки. Удалось набросать отличное, полностью автоматизированное решение, которое добавляет офис на карту, оперируя лишь адресом офиса. Ситуация довольно распространенная, потому думаю будет не лишним поделиться опытом. Дано: Каталог Дилеры в дереве ресурсов, внутри страницы-ресурсы. Каждая страница — это отдельный офис. Заполняем адреса офисов в отведенном для этого поле. Я возьму для этого description, но без проблем можно взять и TV. Адрес может быть написан в любом формате, чем подробнее, тем лучше. Например г. Москва, ул. Ак. Королева 12. Как разместить стандартную Яндекс карту на сайте, думаю все знают.

  1. Убедимся, что подключен Jquery — актуальной версии
  2. Подключаем скрипт карты
     
  3. Размещаем контейнер карты
     

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

https://geocode-maps.yandex.ru/1.x/?geocode=Ваш_адрес

Пример ссылки По умолчанию данные возвращаются в XML формате. Мне привычнее работать с JSON, поэтому я прошу сервис отдать мне JSON массив.

https://geocode-maps.yandex.ru/1.x/?format=json&geocode=Ваш_адрес

Следующий вопрос — каким образом провести HTTP запрос к сервису? Опытные разработчики на этом месте улыбнутся, но не для всех это очевидно. Для HTTP запросов используем программу cURL, которая позволяет обращаться к любому серверу и забирать данные. Выглядит это так.

//Функция может быть в любом месте кода function curl_get_contents($url){ $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); $data = curl_exec($curl); curl_close($curl); return $data; } // Пишем адрес, к которому обращаемся $url = 'https://geocode-maps.yandex.ru/1.x/?format=json&geocode=Ваш_адрес'; // Получаем ответ от сервера $response = curl_get_contents($url); // $response - это готовый json массив с данными.  // Преобразуем json в обычный массив $response = json_decode($response, true); // Получаем из массива координаты для карты. $point = $response['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['Point']['pos']; // Почему то координаты отдаются не в том порядке. Для карты нужно поменять местами широту и долготу плюс меняем пробел на запятую $point = explode(' ', $point); $point = implode(', ', array_reverse($point)); // На этом этапе мы уже имеем точку с координатами, которую остается отдать карте.

Автоматизируем наш пример и получаем координаты конкретных адресов, которые уже есть у нас в админке

function curl_get_contents($url){ $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); $data = curl_exec($curl); curl_close($curl); return $data; } // Указываем id каталога с дилерами $dillers = 90; // Запросы к базе делаем через класс PDOTools. Это быстрее $pdo = $modx->getService('pdoFetch'); // Получаем всех дилеров $offices = $pdo->getcollection('modResource', array('parent' => $dillers)); // Указываем в каком поле у нас лежит адрес  $field = 'description'; //В цикле получаем координаты каждого офиса. $i = 0; $features = ''; foreach($offices as $office){  if(!empty($office[$field])){ $url = 'https://geocode-maps.yandex.ru/1.x/?format=json&geocode='.$office[$field]; $response = json_decode(curl_get_contents($url), true);      $point = $response['response']['GeoObjectCollection']['featureMember'][0]['GeoObject']['Point']['pos'];      $point = explode(' ', $point);      $point = implode(', ', array_reverse($point)); $features .= '      {         "type": "Feature",          "id": '.$i.',          "geometry": {"type": "Point", "coordinates": ['.$point.']},          "properties": {"balloonContent": "'.$office['pagetitle'].'", "clusterCaption": "", "hintContent": ""}       },      '; //В поле balloonContent Вы можете вставить любой текст, он появится при клике на метку. Например номер телефона. Можно HTML. Не забывайте экранировать кавычки в html.      $i ++; } return '{       "type": "FeatureCollection",       "features": ['.$features.']   }';   }

Сохраняем сниппет getDillesCoords, который должен вернуть нам примерно следующий JSON массив.

{     "type": "FeatureCollection",     "features": [         {"type": "Feature", "id": 0, "geometry": {"type": "Point", "coordinates": [55.831903, 37.411961]}, "properties": {"balloonContent": "Содержимое балуна", "clusterCaption": "Еще одна метка", "hintContent": "Текст подсказки"}},         {"type": "Feature", "id": 1, "geometry": {"type": "Point", "coordinates": [55.763338, 37.565466]}, "properties": {"balloonContent": "Содержимое балуна", "clusterCaption": "Еще одна метка", "hintContent": "Текст подсказки"}},         {"type": "Feature", "id": 2, "geometry": {"type": "Point", "coordinates": [55.763338, 37.565466]}, "properties": {"balloonContent": "Содержимое балуна", "clusterCaption": "Еще одна метка", "hintContent": "Текст подсказки"}},         {"type": "Feature", "id": 3, "geometry": {"type": "Point", "coordinates": [55.744522, 37.616378]}, "properties": {"balloonContent": "Содержимое балуна", "clusterCaption": "Еще одна метка", "hintContent": "Текст подсказки"}},         {"type": "Feature", "id": 4, "geometry": {"type": "Point", "coordinates": [55.780898, 37.642889]}, "properties": {"balloonContent": "Содержимое балуна", "clusterCaption": "Еще одна метка", "hintContent": "Текст подсказки"}},         {"type": "Feature", "id": 5, "geometry": {"type": "Point", "coordinates": [55.793559, 37.435983]}, "properties": {"balloonContent": "Содержимое балуна", "clusterCaption": "Еще одна метка", "hintContent": "Текст подсказки"}},     ] }

Остается вызвать карту и передать в нее содержимое сниппета. Пишем JS скрипт рядом с нашим контейнером #map

   

Поблагодарить автора 7

  • Яндекс.Директ
  • 29.11.2016
  • Для специалистов

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

В этом материале – инструкция о том, как создать такой сегмент и потом найти его при запуске рекламы.

Создание сегмента

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

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

В правом верхнем углу нажмите на кнопку “Создать сегмент” и выберите тип “Геолокация”.

image

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

image

В левом верхнем углу нужно задать название сегменту. Добавлять местоположения можно несколькими способами:

  • найти по точному адресу;
  • ввести сразу несколько адресов;
  • отметить точку на карте.

image

Добавление адреса или списка адресов

image

Добавление точки на карту

По умолчанию радиус охвата стоит на отметке 2 км. Минимальное значение может составлять полкилометра, максимальное – 10 км. Снижаем его до минимальных 0,5 км. Далее нужно настроить параметры аудитории. В сегмент можно собирать аудиторию, которая:

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

image

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

Сохраняем сегмент. После этого он появится в списке доступных сегментов логина и начнет обрабатываться.

image

В интерфейсе сообщается, что на обработку требуется не более 30 минут (в нашем аккаунте обработка заняла около четырех часов; объясним это тем, что инструмент находится в бета-тесте). После того, как статус сегмента сменился на “Готов”, стали доступны статистика по нему, создание сегмента похожих пользователей, а также использование в Яндекс.Директе.

Создание look-alike аудитории происходит в два клика:

image

Использование в Яндекс.Директе

Сегменты Яндекс.Аудиторий можно использовать для подбора аудитории или корректировок ставок в кампаниях для Поиска и РСЯ.

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

image

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

Настройка корректировок на уровне кампании

Настройка корректировок ставок на уровне группы кампаний

5 сценариев использования сегментов на основе геоданных по Яндексу

  1.  Приводить “горячую” аудиторию, которая совсем близко, и наращивать кросс- и дополнительные продажи

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

  1. Разделять пользователей по геопризнаку для более качественной коммуникации

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

  1. Создавать и “обрабатывать” новую аудиторию — пользователей, похожих на посетителей определенных мест

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

  1. Получать дополнительный эффект из сетей

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

  1. Экспериментировать с миксами таргетингов

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

Подпишитесь, чтобы получать полезные материалы о платном трафике

Читайте также

Поймать ищущего: как настроить поисковый ремаркетинг в Директе и Google Ads

15.07.21 281

Как перенести поисковую кампанию из Директа в Google Ads — пошаговая инструкция

07.05.21 1146

Как работают обучаемые сегменты в Яндекс.Аудиториях: кейсы и рекомендации

14.04.21 1105

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Максим Коновалов
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий