Блог API Яндекс.Карт

Добавление градусной сетки на карту

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

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

 Градусная сетка на обзорных масштабах на Яндекс.Картах — пример такого слоя.

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

Слой с координатной сеткой можно добавить на карту и на своём сайте. Для этого необходимо создать источник данных для тайлов и передать его в качестве параметра в конструктор класса YMaps.Layer для создания слоя. Более подробно о создании слоев можно прочитать в Руководстве разработчика.

При создании источника для тайлов с помощью класса YMaps.TileDataSource необходимо задать шаблон, по которому будет строиться URL для получения тайла.

В этом шаблоне можно использовать следующие специальные конструкции:

  • %d - заменяется на число от 1 до 4, в зависимости от номера тайла. Используется для распределения нагрузки между несколькими доменами.
  • %c - заменяется на x&y&z, где x - номер тайла по горизонтали, y - номер тайла по вертикали, z - коэффициент масштабирования.

Для построения URL'a тайла воспользуемся второй специальной конструкцией.

// Создание источника данных для тайла
var dataSource = new YMaps.TileDataSource("http://lrs.maps.yandex.net/tiles/?l=grd&v=1.0&%c", true, false),

    // Создание слоя
    gridLayer = new YMaps.Layer(dataSource);

// Добавление слоя на карту
map.addLayer(gridLayer);

Более расширенный пример, с возможностью включения и выключения отображения градусной сетки можно найти по этому адресу:
http://ymaps.narod2.ru/examples/grids.html