25 августа 2010 года компанией Яндекс было заявлено о возможности добавления карты пробок на любой сайт, с использованием API Яндекс.Карт.
О б этом я уже писал на своем блоге «Карту пробок от «Яндекса» можно вставить на любой веб-сайт».
В этой заметке я хочу подробно познакомить Вас с тем как это можно сделать.
Нам понадобиться пример кода для вывода карты с элементами управления.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Яндекс.Карта с элементами управления</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://api-maps.yandex.ru/1.1/index.xml?key=ACuF2EkBAAAAzahYCgIASLsFm9n8EPvNjaTc8nAWiETKgYcAAAAAAAAAAAC-q61vWtIK3Kzt2yQ9qFaGJGKzXw==" type="text/javascript"></script> <script language="JavaScript" type="text/javascript"> var map; // Создание обработчика для события window.onLoad YMaps.jQuery(function () { // Создание экземпляра карты и его привязка к созданному контейнеру map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]); // Установка для карты ее центра и масштаба map.setCenter(new YMaps.GeoPoint(43.998779,56.316537), 14); map.addControl(new YMaps.Zoom()); map.addControl(new YMaps.TypeControl()); map.addControl(new YMaps.SearchControl()); map.addControl(new YMaps.ToolBar()); }); </script> </head> <body> <div id="YMapsID" style="width:800px; height:600px;"></div> </body> </html> |
Теперь добавим на нашу карту слой с пробками.
Для этого в начале, необходимо подключить специальный модуль traffic.
Сделать это можно указав в строке подключения API дополнительный параметр modules со значением traffic:
<script src="http://api-maps.yandex.ru/1.1/index.xml?key=ACuF2EkBAAAAzahYCgIASLsFm9n8EPvNjaTc8nAWiETKgYcAAAAAAAAAAAC-q61vWtIK3Kzt2yQ9qFaGJGKzXw==&modules=traffic" type="text/javascript"></script> |
Если у Вас уже был подключен ранее какой-либо модуль, для того чтобы подключить еще один нужно разделить название модулей символом ~.
Например, Вы уже использовали модуль «Активные области», тогда строка подключения API будет иметь вид:
<script src="http://api-maps.yandex.ru/1.1/index.xml?key=ACuF2EkBAAAAzahYCgIASLsFm9n8EPvNjaTc8nAWiETKgYcAAAAAAAAAAAC-q61vWtIK3Kzt2yQ9qFaGJGKzXw==&modules=hotspots~traffic" type="text/javascript"></script> |
Далее мы создаем элемент управления Пробки и добавляем его на карту.
За это отвечают строки
// создание элемента управления "Пробки"
var traffic = new YMaps.Traffic.Control();
// добавление элемента управления "Пробки" на карту
map.addControl(traffic);
Для отображения пробок на карте нужно добавить еще одну строку
// включение показа пробок
traffic.show();
Посмотреть пример в действии и исходный код
Подробнее об использовании модуля «Пробки» можно прочитать по адресу http://api.yandex.ru/maps/jsapi/doc/mod/traffic/concepts/About.xml
спасибо вам за статью!
Скажите, пожалуйста, а как можно реализовать поиск по городам на яндекс.пробки?
И если не сложно, с примером для уже имеющегося кода. Я понимаю, выглядит как наглость, но это будет полезно не только мне, но и пользователям, а так же и вашему ресурсу!
Заранее спасибо