Использование собственной карты в компоненте Zh YandexMap

Продолжаю знакомить Вас с возможностями компонента Zh YandexMap,

который позволяет использовать Яндекс.Карты в CMS Joomla.

С обзором компонента можно познакомиться здесь.

И теперь я покажу, как можно использовать свою карту в месте с данным компонентом.

В начале нам нужно будет подготовить набор тайлов для нашей карты.

Сделать это можно различными способами.

После этого нам нужно в админке компонента создать новый тип карты.

Захотим в Компоненты — Zh YandexMap — Типы Карт

Нажимаем кнопку Создать.

В открывшуюся форму вводим необходимые данные:

В поле наименование — идентификатор типа карты: mymapnn.

Ширину и высоту тайлов карты в пикселях, стандартное значение 256 на 256.

Самое важное — это фунцкия получения URL тайла.

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

Пример функции:

function (tile, zoom) {
 return "http://tile.openstreetmap.org/"+zoom+"/"+tile[0]+"/"+tile[1]+".png";
}

Подробнее можно прочитать в документации

Я для примера возьму карту из заметки «Используем программу MapTiler для подготовки тайлов для Google Maps«.

Функция для неё будет иметь вид:

function (tile, zoom) {
return "http://webmap-blog.ru/files/gmap/balmap3/"+zoom + "/" + tile[0] + "/" + (Math.pow(2,zoom)-tile[1]-1) + ".png";
}

Проекцию выбираем — Меркаторовская проекция на сферу (проекция Яндекс.Карт).

Прозрачный слой — Нет

Оверлейный слой — Нет

Опубликовано — Да

Сохраняем новый тип карты.

Теперь мы должны создать новую карту.

Захотим в Компоненты — Zh YandexMap — Карты.

Нажимаем кнопку Создать.

Задаем основные необходимые параметры.

Центр карты — 56.5053420690801, 43.5723586595115.

Масштаб — 11 и 14

Тип карты — Первый из пользовательских типов карт.

Разрешено использование Пользовательских Типов Карт — Да

Список Пользовательских Типов Карт — 3 (id нашего типа карты).

Сохраняем и смотрим, что у нас получилось — http://ymap-joomla.apimaps.ru/index.php/novaya-karta

  • Сергей Расторгуев: а метки объектов на нее также можно нанести?