Как вставить карту проезда из Google Maps (Yandex Maps). Как включить навигацию

20.09.2019

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

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

Для вставки интерактивной карты может использоваться конструктор карт
https://tech.yandex.ru/maps/tools/constructor/ :

В случае, если нам нужно более продвинутое использование карт (свои метки, программное перемещение карт и т.п.), то для этого надо использовать API Яндекс.Карт: https://tech.yandex.ru/maps/jsapi/ . В качестве примера использования карт в статье будет рассмотрено создание карты с простым добавлением пользовательских метки и балуна.

Для начала подключим компоненты API:

Если разрабатывается какое-то большое приложение с использованием карт, то лучше подключать компоненты API определённой версии, чтобы при обновлении API на стороне Яндекса у нас ничего не сломалось на продакшине:

Карту необходимо будет расположить в каком-нибудь блоке, например в div#map . Далее карту необходимо создать в данном блоке (после срабатывания события готовности карты и DOM):

ymaps.ready (init) ; function init() { var myMap; myMap = new ymaps.Map ("map" , { center: [ 55.76 , 37.64 ] , zoom: 7 } ) ; }

Здесь мы указываем:

  • идентификатор блока «map» , где у нас будет создана карта;
  • center — центр карты с указанием ширины и долготы;
  • zoom — коэффициент масштаба карты.
  • По умолчанию Яндекс.Карты создают много лишних элементов, которые в большинстве случаев не нужны на сайтах. В основном к элементам управления и к поведению карты достаточно применить 2 условия:

  • из элементов карты присутствует только ползунок изменения масштаба;
  • карта не должна менять масштаб скроллом мыши.
  • Для выполнения этих требований дополняем код:

    ymaps.ready (init) ; function init() { var myMap; myMap = new ymaps.Map ("map" , { center: [ 55.76 , 37.64 ] , zoom: 13 , controls: } ) ; myMap.behaviors .disable ("scrollZoom" ) ; myMap.controls .add ("zoomControl" , { position: { top: 15 , left: 15 } } ) ; }

    Здесь мы отключили «scrollZoom» и добавили «zoomControl» с позиционированием от левого верхнего угла.

    Теперь нужно добавить на карту метку, для статьи скачаём её картинку с http://medialoot.com/item/free-vector-map-location-pins/ и расположим в коде следующим образом:

    ymaps.ready (init) ; function init() { var myMap; myMap = new ymaps.Map ("map" , { center: [ 55.7652 , 37.63836 ] , zoom: 17 , controls: } ) ; myMap.behaviors .disable ("scrollZoom" ) ; myMap.controls .add ("zoomControl" , { position: { top: 15 , left: 15 } } ) ; var myPlacemark = new ymaps.Placemark ([ 55.7649 , 37.63836 ] , { } , { iconLayout: "default#image" , iconImageHref: , iconImageSize: [ 40 , 51 ] , iconImageOffset: [ - 20 , - 47 ] } ) ; myMap.geoObjects .add (myPlacemark) ; }

    Здесь мы объявляем переменную myPlacemark , в которой запишем маркер, в первом параметре ymaps.Placemark указываем координаты метки, а в третьем параметре:

  • указываем в iconLayout , что будет использоваться пользовательское изображение метки;
  • iconImageHref — путь к изображению;
  • iconImageSize — указываем размеры изображения;
  • iconImageOffset — указываем сдвиг от левого верхнего угла картинке к точке изображения, которая показываем на нужный нам объет. Нужно это чтобы при масштабировании карты положение метки не сбивалось. Почему смещение указывается в отрицательных значениях — одному Богу создателю API известно.
  • И через myMap.geoObjects.add() добавляем метку на карту.

    А теперь сделаем баллун, который у нас будет показываться при клике на метку карты, макет баллуна и его содержимое возьмём с http://designdeck.co.uk/a/1241

    ymaps.ready (init) ; function init() { var myMap; myMap = new ymaps.Map ("map" , { center: [ 55.7652 , 37.63836 ] , zoom: 17 , controls: } ) ; myMap.behaviors .disable ("scrollZoom" ) ; myMap.controls .add ("zoomControl" , { position: { top: 15 , left: 15 } } ) ; var html = "" ; html += "" ; html += "" ; html += "

    The Victoria Tower Gardens

    " ; html += "" ; html += "

    City of London

    " ; html += "" ; html += "

    United Kingdom

    " ; html += "

    020 7641 5264

    " ; html += "" ; html += "" ; var myPlacemark = new ymaps.Placemark ([ 55.7649 , 37.63836 ] , { balloonContent: html } , { iconLayout: "default#image" , iconImageHref: "http://сайт/files/APIYaMaps1/min_marker.png" , iconImageSize: [ 40 , 51 ] , iconImageOffset: [ - 20 , - 47 ] , balloonLayout: "default#imageWithContent" , balloonContentSize: [ 289 , 151 ] , balloonImageHref: "http://сайт/files/APIYaMaps1/min_popup.png" , balloonImageOffset: [ - 144 , - 147 ] , balloonImageSize: [ 289 , 151 ] , balloonShadow: false } ) ; myMap.geoObjects .add (myPlacemark) ; }

    Здесь мы:

  • в balloonContent указываем контент, который будет отображаться при открытии балуна;
  • balloonLayout — указываем, что в качестве макета баллуна будет использоваться пользовательское изображение;
  • balloonContentSize и balloonImageSize — размеры контента и изображения соответственно;
  • balloonImageHref — путь к изображению;
  • balloonImageOffset — смещение относительно левого верхнего угла;
  • balloonShadow — отключение тени у балуна (с пользовательскими изображениями ни на что не влияет).
  • Карта проезда на сайте с адресом организации является очень удобным ориентиром для пользователей. Согласитесь, очень практично зайти на сайт и увидеть месторасположение компании, не открывая дополнительных вкладок для поиска адреса на карте. Это дополнительный маленький плюсик в копилку лояльности со стороны клиента по отношению к организации.

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

    Вставка карты с помощью Яндекс Карт

    1. На данный момент (начало 2013 года) конструктор карт от Яндекс доступен в версии 2.0, очень удобный и логически понятный. Для создания карты даже не требуется быть авторизованным пользователем. Первым делом необходимо создать саму карту с адресом. Для этого переходим по ссылке http://api.yandex.ru/maps/tools/constructor/ и в нижнем поле ввода прописываем адрес компании. После нажатия кнопки "найти" система выдаст варианты найденных адресов.

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

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

    4. Вкладка "Код для вставки" предлагает прочесть пользовательское соглашение. После его подтверждения вам откроется код для вставки. Его можно немного отредактировать, например, убрать ссылку на Яндекс, подогнать по размерам точнее, однако существенных изменений лучше не делать.

    5. Копируем данный код и вставляем на страницу контактов через HTML-редактор после текста.

    6. Сохраняем внесенные изменения и проверяем полученный результат на странице сайта.

    Вставка карты с помощью Google Maps

    1. Алгоритм действий схож с описанным выше. Переходим по ссылке http://maps.google.ru/maps и вводим в строке поиска адрес организации. Можно также посмотреть, как это выглядит со спутника. Далее для получения кода нажимаем на знак ссылки слева. Можно скопировать имеющийся код, а можно нажать ссылку "настройка и предварительный просмотр встроенной карты".

    2. При выборе редактирования откроется дополнительное окно, где можно скорректировать ее размеры.

    3. Копируем полученный код и вставляем его через html-редактор на страницу сайта. Выглядеть она будет абсолютно так же, как при предварительном просмотре. В отличие от карт Яндекса, карты Google всегда только интерактивные, здесь меньше возможностей редактировать саму карту, однако можно посмотреть на местность со спутника, рельеф с названиями объектов и 3D карту.

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

    Самым лучшим решением будет размещение карты, со схемой проезда или с меткой на месте расположения офиса.

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

    Вставить Яндекс карту на сайт под управлением WordPress достаточно просто. Можно либо сразу воспользоваться Yandex API, чтобы создать ее и получить код для размещения, либо установить специальный плагин, который с помощью этого же API сделает все за вас.

    Размещение через Yandex APIВывод

    Как видите, оба способа размещения Яндекс карты достаточно простые. Сложности могут возникать только на старых версиях WordPress, но там все решается с помощью шаблонов. Кроме этих двух способов, есть еще несколько других, позволяющих использовать более сложные функции, например, отслеживание транспорта. Эти функции реализуются вручную через Яндекс API, что потребует некоторых навыков программирования.

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

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

    адрес_из_конструктора " alt="название_компании "/>

    Режим панорамы также можно добавить к себе на сайт Результат (содержимое можно вертеть, если захватить его участок мышкой, переходить по улицам щёлкая по стрелкам):

    Советую посмотреть это видео для вдохновения:



    Добавить карту на сайт: две картинки рядом (HTML / CSS)

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


    Но я считаю так: пользователь ищет организацию и ему в первую очередь нужно узнать как до неё добраться. Поэтому лучше, если он увидит достаточного размера карту, чем мелкую карту и мелкое рядом стоящее фото здания. При уменьшении экрана максимально долго будет оставаться правая часть фонового изображения. А здесь левая: Если нужно, чтобы фотография перемещалась на новую строку, когда две картинки не умещаются вместе на текущей?
    И последнее, вставка карты поверх фото. Описание картинки будет находиться либо справа от изображения с адресом фирмы, либо под ним.
    Скульптура «Родина-мать зовёт!» Скульптура «Родина-мать зовёт!»

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

    Инструкция по установке зависит от того, на какое именно устройство вы хотите поставить это полезное приложение, поэтому рассмотрим самые популярные варианты.

    Как установить яндекс карты на андроид?

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

  • Итак, откройте Google Play (или если у вас старая версия прошивки, то Android Market).
  • В открывшемся окне выберите поле поиска и введите туда Яндекс карты.
  • В результатах поиска будет несколько программ. Одна из них будет непосредственно самими картами, а другая является навигатором. Вы можете установить обе, если думаете что будете использовать еще и навигацию для автомобиля.
  • После установки каждую из программ вы сможете найти в меню
  • Как установить яндекс карты на телефон?

    Приложение Яндекс. Карты поддерживает огромное количество моделей телефонов, а точнее почти все, которые поддерживают Java. Давайте рассмотрим пример установки на самый обычный телефон.

    Для установки и работы самой программы вам понадобится настроенное интернет соединение!

  • Откройте в своем телефоне программу для просмотра интернет страниц (рекомендую использовать стандартное решение телефона, то есть не использовать Opera Mini)
  • Зайдите на m.ya.ru/maps и обязательно проверьте то, чтобы ваш телефон определился правильно. Это важно, ведь в случае ошибки, программа может работать некорректно или вообще не запуститься.
  • Если все верно, скачайте программу. Если была какая-то ошибка с определением, нажмите на кнопку "Другая модель" и найдите свой телефон в списке.
  • После скачивания установите программу утвердительно отвечая на все вопросы телефона.
  • Готов! Теперь вы можете пользоваться картами на своем телефоне!
  • Как установить яндекс карты на навигатор?

    Для того, чтобы убедиться, что ваш навигатор сможет поддерживать Яндекс Карты, вам нужно узнать, на какой операционной системе он работает. Если это Android, то стоит воспользоваться инструкцией, которую я написал чуть выше (установка на телефоны под управлением Android). Этот процесс не будет никак отличаться ставите вы на телефон, планшет или навигатор. То есть, вам нужно всего лишь зайти в магазин Google Play и скачать приложение себе на телефон, а после установить.

    Если ваш навигатор работает под управлением Windows CE, то вам повезло. Существует версия и под подобные устройства.

  • Скачайте приложение для Win CE к себе на компьютер отсюда "yandexmaps-wince.zip ".
  • Распакуйте у себя на компьютере скачанный архив и отправьте все файлы к себе на навигатор.
  • С помощью файлового менеджера найдите эти файлы и нажмите на них для установки.
  • Готово! Теперь вы можете пользоваться всеми возможностями Яндекс. Карт прямо в своем навигаторе.


  • Похожие статьи
     
    Категории