Поместите Слой С Пробками На Y.map.

API Яндекс.

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

Слой карты характеризуется источником листов ( YMaps.TileDataSource ).

Для создания источника необходимо указать шаблон URL с плитками.



Источник плитки

Первая проблема — узнать адрес источника, который использует Yacards. Решение простое - используйте FireBug, чтобы посмотреть на карту с пробками и увидеть на самом верху с [источник= http://trf.maps.yandex.net/tilesЭl=trf&x=2500&y=1244&z=12&tm=1267986241 ] Здесь x, y и z — координаты тайла и информация об масштабе карты.

tm — отметка времени, за которую предоставляются данные о трафике.

Без указания параметра tm тайловый сервер возвращает 404.

Время обновления трафика

Вторая проблема — узнать текущую отметку времени, за которую даны пробки.

Давайте снова воспользуемся FireBug. Запрос адреса вы можете найти в журнале обмена с сервером trf.maps.yandex.net/trf/stat.js В ответ приходит скрипт с вызовом YMaps.TrafficLoader.onLoad('stat', "JSON_packed_data"); Внутри данных, переданных в качестве второго аргумента, есть параметр timestamp, который совпадает с текущим параметром tm при загрузке тайлов.

ВЫГОДА! На главной Я.

Карт YMaps.TrafficLoader определен, но не на обычной странице карты.

В результате был написан код, который определяет объект YMaps.TrafficLoader, метод onLoad в нем и использует полученную информацию для создания нового слоя, TileDataSource для него и добавляет слой на карту.

Данные обновляются каждые 5 минут. Скачать трафик.

js .

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

В коде инициализации карты вам необходимо вызвать YMaps.TrafficLoader.init(mapObject), где MapObject — это экземпляр YMaps.Карта содержащий вашу карту.

В моем случае я вызываю инициализацию по событию geocoder.Events.Load .

УПД : Перешёл из блога Яндекса в Веб-разработку.

Теги: #трафик #Яндекс.

карты #Яндекс.

трафик #JavaScript #yandex карты api #разработка сайтов

Вместе с данным постом часто просматривают: