Zh YandexMap CustomMapType/ru

From Documentation
Jump to navigation Jump to search

Создание пользовательского типа карты

Создание пользовательского типа для простых карт

Этот тип карт, которые вы не создавали (не создавали тайлы), но хотите использовать в компоненте (или плагине).

Например, создадим пользовательский тип карт для Open Street Map (который включен в компонент как предопределенный тип)


Переходим к Map Types

Создаем новый тип

YM-Tutorial-Custom-Map-Type-1.png

YM-Tutorial-Custom-Map-Type-2.png

В подробностях типпа карт вы должны заполнить обязательные поля

  • Title - это Наименование вашего типа в элементе управления типами карт
  • minZoom и maxZoom - минимальный и максимальный масштаб (вы должны знать для какого масштаба существуют тайлы)
  • размер тайлов
  • функция Get Tile URL используется Yandex Maps API для получения тайлов
  • Projection - вы должны знать, какая проекция используется при создании тайлов
  • Layer Type - способ отображения карты
    • Map - выводит только ваши тайлы
    • Overlay - выводит ваши тайлы поверх основной карты. Это удобно когда ваши тайлы покрывают только часть поверхности, но все остальное вы тоже хотите видеть.


В нашем случае мы имеем следующий URL для получения тайлов

http://tile.openstreetmap.org/%z/%x/%y.png

В этом случае наша функция Get Tile URL будет

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

Сохраняем, закрываем.

Как Вы можете увидеть, идентификатор (ID) нашего нового типа равен 1

YM-Tutorial-Custom-Map-Type-MapType-List.png


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

Переходим к нашей карте, открываем подробности карты.

YM-Tutorial-Custom-Map-Type-MapProperties.png


Устанавливаем Allow Custom Map Types в соответствующее значение

  • Yes - разрешаем использование пользовательских типов карты, но не выводим их в элементе управления типами карт
  • Map Type Control - разрешаем использование пользовательских типов карты и выводим их в элементе управления типами карт

Указываем идентификатор типа карты в поле Custom Map Types List

Вы также можете установить Map Type в First Custom Map Type если хотите использовать данный тип по умолчанию.

И как результат наша карты будет выглядеть так

YM-Tutorial-Custom-Map-Type-Result.png

При переключении типа карты

YM-Tutorial-Custom-Map-Type-ResultOSM.png