Карта

Создание и удаление карты

Для создания карты предназначен класс YMap. В конструкторе класса необходимо указать:

  • HTML-элемент, в котором будет размещена карта;
  • координаты центра карты;
  • коэффициент масштабирования.
<head>
  <script>
    ymaps3.ready.then(() => {
      // HTML-элемент.
      const map = new ymaps3.YMap(document.getElementById('first_map'), {
        location: {
          center: [37.588144, 55.733842],
          zoom: 10
        }
      });
    });
  </script>
</head>
<body>
  <p>Карта</p>
  <div id="first_map" style="width:400px; height:300px"></div>
</body>

Карта может быть размещена в любом блочном HTML-элементе и полностью заполняет занимаемую им прямоугольную область. Вычисление размеров области производится при помощи ResizeObserver.

Для удаления карты из DOM используется метод destroy().

// Удаление карты.
map.destroy();

HTML-элемент, который был указан при создании карты, из DOM-дерева не удаляется.

Слои

Чтобы после создания карты на ней что-то отображалось, необходимо добавить слои.

Можно добавить преднастроенные слои. Через них создаются источник данных и слой для отображения схемы с тайлами Яндекса:

const layer = new YMapDefaultSchemeLayer();
map.addChild(layer);

Подробнее про слои

Параметры карты

Основными параметрами карты являются:

  • DOM-элемент, в котором размещается карта;
  • участок отображаемой местности;
  • режим отображения карты: растровый или векторный.

При создании карты необходимо обязательно задать область картографирования путем указания центра и уровня масштабирования. В дальнейшем область картографирования можно изменить с помощью метода setLocation().

map.setLocation({
  center: [37.588144, 55.733842],
  zoom: 5
});

map.setLocation({
  bounds: [
    [25.21, 55.27],
    [25.23, 55.29]
  ]
});

Режим карты может быть задан как в конструкторе, так и с помощью метода setMode().

// Задание растрового режима в конструкторе.
const map = new YMap(element, {
  // ... остальные опции.
  mode: 'raster'
});

// Задание векторного режима с помощью метода setMode().
map.setMode('vector');

Поведения

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

При инициализации карты ей присваивается набор поведений, который в дальнейшем можно изменить с помощью метода setBehaviors(). Доступ к поведениям карты предоставляется через поле behaviors.

const map = new YMap(element, {
  // ... остальные опции
  behaviors: ['drag', 'pinchZoom', 'mouseTilt']
});
map.setBehaviors(['drag', 'pinchZoom']);

Подробнее про элементы управления