Как вставить яндекс карту на сайт html
Перейти к содержимому

Как вставить яндекс карту на сайт html

  • автор:

jQuery Ey Maps

Параметры в Data-атрибуте имеют наивысший приоритет. Они переопределят параметры по умолчанию, а так же пользовательские параметры заданные при инициализации. Значение атрибута — валидный JSON.

Переопределение параметров по умолчанию

Рекомендации

Примеры использования

Пример: Многократное использование карт на странице

Общие параметры для всех карта под классом «example» указываются при инициализации

Координаты для каждой отдельной карты лучше будет указать в Data-атрибутах

Пример: Загрузка карт по событию

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

По наведению мыши

В данном примере карта загрузится по наведению мыши на серый блок

При появлении карты в области просмотра

В данном примере с помощью плагина jQuery.InVpDo реализована ленивая подгрузка карты.
Проскрольте вниз, чтобы увидеть результат.

Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Ipsum одна собрал взгляд путь речью на берегу деревни, наш первую послушавшись маленький лучше скатился предупредила рыбными повстречался журчит букв подзаголовок курсивных точках текстами великий живет семь, прямо всеми. Собрал знаках агентство, власти большого необходимыми предупреждал текста подзаголовок рукопись всеми переписывается заглавных составитель, образ домах взобравшись использовало, безопасную семь грамматики первую. Если ему заманивший запятой жаренные букв продолжил единственное, выйти даль встретил предупреждал? Грустный правилами на берегу это гор, ведущими, свою живет. Силуэт запятой залетают диких наш путь ее большого дал букв которой журчит, ты своего что пояс своих своего послушавшись своих свое пунктуация вопроса о приставка маленький меня! Переписывается предупредила, коварный ты использовало, до своих последний то буквенных, скатился жаренные маленькая, составитель! Раз, великий несколько! Переписали деревни повстречался одна своих собрал свою, эта свой скатился грустный назад рыбными предупредила не семь за, рукопись lorem, путь, свой снова проектах возвращайся запятой! Маленькая составитель ipsum рукописи, безопасную инициал предупреждал рекламных рыбными ведущими свой, сих, которой путь предупредила выйти коварных заманивший. Взгляд над собрал, lorem необходимыми пояс вскоре коварный до рукописи своего ты заглавных даль предупреждал безорфографичный обеспечивает текстами однажды, подпоясал вопрос коварных парадигматическая что заманивший. Оксмокс, большой первую алфавит жаренные языком несколько, однажды речью! Залетают повстречался по всей использовало букв подзаголовок свой раз парадигматическая океана которое, лучше! Всеми ведущими она, имени что осталось. Возвращайся точках подпоясал предупредила всемогущая осталось последний если, ему ручеек, жаренные вершину силуэт его безорфографичный, грустный напоивший которое выйти злых над она встретил заманивший первую речью! Своих гор которой обеспечивает всемогущая подзаголовок заманивший вершину однажды вскоре послушавшись злых, пунктуация рыбными они, предложения мир, толку эта грустный маленький текст одна заголовок путь текста. Мир но ведущими обеспечивает, меня ты, ручеек над ее курсивных подзаголовок, единственное рыбными переписали бросил пунктуация океана даже однажды которое страну заголовок парадигматическая первую грамматики свое вскоре, дороге выйти.

Пример: Метки, Хинт, Балун

История изменений

2.0.0 — 17.01.2019

  • Полностью переработа структура плагина
  • Колбэки заменены соотв. событиями
  • др. исправления.

1.0.1 — 18.08.2018

  • Добавлена поддержка цепочек вызовов
  • Некоторые правки в readme.md

Лицензия (MIT)

Copyright (c) 2018-2019 Sergey Kravchenko

Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:

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

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

Добавляем Яндекс.Карты на сайт для построения маршрута и подсчета затрат на топливо

Pogrommist.ru

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

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

Подробнее об ограничениях на бесплатное использование API Яндекс.Карты можете почитать по адресу: https://tech.yandex.ru/maps/commercial/

Добавляем Яндекс.Карты на сайт

Чтобы добавить карты на сайт необходимо подключить библиотеку Javascript API. Сразу подключим плагин JQuery, который нам пригодится в нашем проекте. Для этого между тегами <head> пишем следующий код.

  1. <script src=”https://code.jquery.com/jquery-3.3.1.min.js" integrity=”sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=” crossorigin=”anonymous”></script>
  2. <script src=”https://api-maps.yandex.ru/2.1/?lang=ru_RU" type=”text/javascript”></script>

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

  1. <div id=”map”></div>

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

  1. <script type=”text/javascript”>
  2. ymaps.ready(init);
  3. function init() <
  4. myMap = new ymaps.Map(‘map’, <// Выводим в слой с [59.9174, 30.3250], // центрируем карту на Санкт-Петербурге
  5. zoom: 11, // Ставим зум кратный 11
  6. controls: [] // Никакие кнопки управления пока не добавляем
  7. >)>
  8. </script>

Добавим стили, чтобы карта выводилась на всю страницу.

  1. <style>
  2. body, html, #map<
  3. width: 100%;
  4. height: 100%;
  5. padding: 0;
  6. margin: 0;
  7. position: absolute;
  8. >
  9. </style>

Сохраняем страницу и смотрим на результат!

Настраиваем Яндекс.Карты

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

  1. routePanelControl = new ymaps.control.RoutePanel( <
  2. options: <
  3. showHeader: true, //Показывать заголовок навигационной панели
  4. title: ‘Проложить маршрут’, //Заголовок панели
  5. allowSwitch: true, //Отображать кнопку для смены местами Откуда/Куда
  6. maxWidth: ‘300px’, //Ширина панели (макс. 400px)
  7. float: ‘left’ // Расположение в левой части карты
  8. >
  9. >),
  10. zoomControl = new ymaps.control.ZoomControl( <
  11. options: <
  12. float: ‘right’, // Расположение в правой части карты
  13. position: < //Координаты
  14. top: 245, //расположения
  15. right: 10 //кнопок зума
  16. >
  17. >
  18. >);
  19. myMap.controls.add(routePanelControl).add(zoomControl);

Теперь мы имеем уже рабочую версию карт и даже можем строить маршруты.

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

  1. // Пользователь сможет построить только автомобильный маршрут.
  2. routePanelControl.routePanel.options.set( <
  3. types: ,
  4. >);

Для удобства построения маршрутов можно указать в качестве точки отправления текущее положение пользователя. За это отвечает следующая строчка кода:

  1. // Зададим координаты пункта отправления с помощью геолокации.
  2. routePanelControl.routePanel.geolocate(‘from’);

Добавим информацию о пробках на карту:

  1. // Создадим элемент управления “Пробки”.
  2. var trafficControl = new ymaps.control.TrafficControl( < state: <
  3. // Отображаются пробки “Сейчас”.
  4. providerKey: ‘traffic#actual’,
  5. // Начинаем сразу показывать пробки на карте (true) или после нажатия на кнопку (false)
  6. trafficShown: false
  7. >>);
  8. // Добавим контрол на карту.
  9. myMap.controls.add(trafficControl);
  10. // Получим ссылку на провайдер пробок “Сейчас” и включим показ инфоточек.
  11. trafficControl.getProvider(‘traffic#actual’).state.set(‘infoLayerShown’, true);

Получение информации об активном маршруте Яндекс.Карты

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

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

  1. // Получим ссылку на маршрут.
  2. routePanelControl.routePanel.getRouteAsync().then(function (route) <
  3. // Зададим максимально допустимое число маршрутов, возвращаемых мультимаршрутизатором.
  4. route.model.setParams(, true);
  5. //Искать оптимальный маршрут с учетом пробок
  6. route.model.setParams(, true);
  7. // Повесим обработчик на событие построения маршрута.
  8. route.model.events.add(‘requestsuccess’, function () <
  9. var activeRoute = route.getActiveRoute();
  10. if (activeRoute) <
  11. activeRoute.balloon.open();
  12. >
  13. >);
  14. >);

В балун выводится краткая информация о маршруте. Мы знаем протяженность маршрута, время в пути с учетом пробок и без пробок, о платных участках на маршруте и о перекрытиях на дороге. Эти данные передаются в параметрах properties активного маршрута. Извлечем эти данные и выведем в консоль браузера для наглядности.

  1. // Получим протяженность маршрута.
  2. length = route.getActiveRoute().properties.get(“distance”), // Протяженность маршрута
  3. time = route.getActiveRoute().properties.get(“duration”), // Время маршрута
  4. blocked = route.getActiveRoute().properties.get(“blocked”), // Есть ли перекрытия на маршруте
  5. tolls = route.getActiveRoute().properties.get(“hasTolls”), // Есть ли платные участки дороги
  6. timeintraffic = route.getActiveRoute().properties.get(“durationInTraffic”); // Время с учетом пробок
  7. activeRoute.balloon.open();
  8. console.log(‘Протяженность маршрута ‘ + length.value); // Протяженность маршрута в метрах
  9. console.log(‘Протяженность маршрута ‘ + length.text); // Протяженность маршрута в текстовом представлении
  10. console.log(‘Время без пробок ‘ + time.value); // Время в секундах без учета пробок
  11. console.log(‘Время без пробок ‘ + time.text); // Время в текстовом представлении без учета пробок
  12. console.log(‘Время с пробками ‘ + timeintraffic.value); // Время в секундах с учетом пробок
  13. console.log(‘Время с пробками ‘ + timeintraffic.text); // Время в текстовом представлении с учетом пробок
  14. console.log(‘blocked’ + blocked); // На маршруте есть перекрытия дороги
  15. console.log(‘tolls ‘ + tolls); // На маршруте есть платные участки дороги

Вывод информации о маршруте в собственное поле на карте

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

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

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

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

  1. <div id=”map”>
  2. <div id=”info”>
  3. <div style=”padding-left: 25px; float:left” class=”text”>
  4. <input type=”number” name=”fuel” id=”fuel” value=”40" /> литр/100км
  5. <input type=”number” name=”price” id=”price” value=”45" /> руб/литр
  6. </div>
  7. <div id=”infotext”></div>
  8. <div id=”infotextprice”></div>
  9. </div>
  10. </div>

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

Должно получиться вот так:

  1. // Получим протяженность маршрута.
  2. $(‘#info’).css(“display”, “block”); // Показываем наш блок с информацией
  3. length = route.getActiveRoute().properties.get(“distance”), // Протяженность маршрута
  4. time = route.getActiveRoute().properties.get(“duration”), // Время маршрута
  5. blocked = route.getActiveRoute().properties.get(“blocked”), // Есть ли перекрытия на маршруте
  6. tolls = route.getActiveRoute().properties.get(“hasTolls”), // Есть ли платные участки дороги
  7. timeintraffic = route.getActiveRoute().properties.get(“durationInTraffic”); // Время с учетом пробок
  8. var fuel = document.getElementById(“fuel”).value; // Считываем расход топлива из формы
  9. var price = document.getElementById(“price”).value; // Считываем стоимость топлива из формы
  10. var rashod = Math.round((length.value/100000)*fuel); // Считаем сколько топлива потратим
  11. var money = Math.round(rashod*price); // Считаем сколько денег потратим на топливо
  12. mydis.innerHTML=’’;
  13. mydisprice.innerHTML=’’;
  14. mydis.insertAdjacentHTML(“beforeend”, ‘Оптимальный маршрут составляет <strong>’ + length.text + ‘</strong><br />’);
  15. mydis.insertAdjacentHTML(“beforeend”, ‘Время с учетом пробок <strong>’ + timeintraffic.text + ‘</strong><br />’);
  16. mydisprice.insertAdjacentHTML(“beforeend”, ‘Примерные расходы топлива <strong>’ + rashod + ‘ л.</strong><br />’);
  17. mydisprice.insertAdjacentHTML(“beforeend”, ‘Расходы на топливо <strong>’ + money + ‘ руб.</strong><br />’);
  18. if (blocked)
  19. if (tolls)
  20. activeRoute.balloon.open();
  21. console.log(‘Протяженность маршрута ‘ + length.value); // Протяженность маршрута в метрах
  22. console.log(‘Протяженность маршрута ‘ + length.text); // Протяженность маршрута в текстовом представлении
  23. console.log(‘Время без пробок ‘ + time.value); // Время в секундах без учета пробок
  24. console.log(‘Время без пробок ‘ + time.text); // Время в текстовом представлении без учета пробок
  25. console.log(‘Время с пробками ‘ + timeintraffic.value); // Время в секундах с учетом пробок
  26. console.log(‘Время с пробками ‘ + timeintraffic.text); // Время в текстовом представлении с учетом пробок
  27. console.log(‘blocked’ + blocked); // На маршруте есть перекрытия дороги
  28. console.log(‘tolls ‘ + tolls); // На маршруте есть платные участки дороги

Теперь нам необходимо пересчитывать затраты при изменении значений в форме. Для этого напишем функцию recalc() и пропишем ее вызов в форме.

  1. <script type=”text/javascript”>
  2. function recalc() <
  3. var mydis = document.getElementById(‘infotext’);
  4. var mydisprice = document.getElementById(‘infotextprice’);
  5. var fuel = document.getElementById(“fuel”).value;
  6. var price = document.getElementById(“price”).value;
  7. var rashod = Math.round((window.length.value/100000)*fuel);
  8. var money = Math.round(rashod*price);
  9. mydisprice.innerHTML=’’;
  10. mydisprice.insertAdjacentHTML(“beforeend”, ‘Примерные расходы топлива <strong>’ + rashod + ‘ л.</strong><br />’);
  11. mydisprice.insertAdjacentHTML(“beforeend”, ‘Расходы на топливо <strong>’ + money + ‘ руб.</strong><br />’);
  12. >
  13. </script>
  14. <div style=”padding-left: 25px; float:left” class=”text”>
  15. <input type=”number” name=”fuel” id=”fuel” value=”40" oninput=”recalc()” /> литр/100км
  16. <input type=”number” name=”price” id=”price” value=”45" oninput=”recalc()” /> руб/литр
  17. </div>

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

  1. //Разрешаем перетаскивать точки между начальной и конечной точками
  2. route.editor.start();

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

Как добавить Яндекс Карты на сайт

Всем привет! Сегодня, я хочу вам рассказать о том, как добавить на свой сайт карту от Яндекса. Конечно, сразу напрашивается вопрос, зачем это надо? Если ответить коротко, то это нужно, чтобы вас нашли. Другой вопрос, кому это нужно? Нужно это многим сайтам, поговорим обо всем этом ниже.

Кому это надо?

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

Ну а теперь идем дальше. На очень многих сайтах визитках, можно увидеть контакты, адрес, а также, другие сведения, например, часы работы. Все эти данные, ориентированы для привлечения клиентов в свой офис. К сожалению, далеко не всегда, имеется карта, как доехать. А жаль. Карту на сайт можно поставить легко и быстро. А клиентам компании, это поможет сэкономить кучу времени. И нужна карта для очень многих сайтов: крупным компаниям, мелким магазинам, различным мастерским. Список можно продолжать до бесконечности.

Как вставить Яндекс Карту на сайт.

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

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

Для установки, вначале нужно перейти по ссылке — yandex.ru/map-constructor/

конструктор яндекс карт

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

создать яндекс карту

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

задаем размер карты и масштаб

Конструктор карт выдаст код карты, который останется просто добавить на свой сайт.

код карты для размещения на сайте

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

добавляем на сайт html

Или же, если к примеру, у вас сайт на популярной CMS WordPress, то вы можете установить его в код либо самой статьи и для этого, вам совсем не нужен какой либо плагин, но вставку нужно делать, в режиме «Текст»

вставляем Яндекс Карту на сайт WordPress

либо, можно вставить в виджет.

можно установит ьв виджет

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

Как разместить Яндекс-карту у себя на сайте

Как разместить Яндекс-карту у себя на сайте главное изображение

Один из самых простых способов создать и разместить карту на сайте — это воспользоваться конструктором карт Яндекса.

Пишем название и описание. Ставим метку на карте или ищем место по адресу. Как только все будет готово, жмем кнопку «Сохранить и продолжить». Настраиваем параметры отображения карты. Например, растянем ее по ширине и поменяем масштаб. Получаем код карты нажатием на одноименную кнопку.

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

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