Модули

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

Модули представляют из себя обособленные части API, реализующие некоторую функциональность и предоставляющие к этой функциональности интерфейс.

В настоящий момент доступны следующие модули:

  • Активные области (hotspots) — позволяется размещать на карте десятки и сотни тысяч объектов без потери производительности.
  • Метро (metro) — предоставляет возможность поиска ближайших станций метро.
  • PlainStyle (plainstyle) — загружает дополнительный набор стилей для значков, балуна и всплывающей подсказки.
  • Регионы (regions) — предоставляет доступ к информации о региональном делении стран.
  • Пробки (traffic) — позволяет добавлять на карту слой пробок и дорожных событий.
  • Редактор маршрута (router-editor) — позволяет размещать на карте визуальный редактор маршрута.

Кроме вышеперечисленных модулей в API неявным образом присутствует основной модуль - ядро API (core). Ядро всегда загружается при полной загрузке API и предоставляет доступ к классам и методам, позволяющим решать большинство задач при работе с картой.

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

Если для работы модуля требуется другой модуль (кроме ядра API), то он будет загружен. Например, при загрузке модуля Регионы автоматически загружается модуль Активные области.

Ядро API всегда доступно после полной загрузки API и отключить его нельзя.

Примечание. Перед тем как использовать модули, их необходимо загрузить.

Загрузка модулей

Загрузить модули можно двумя способами:

  • Вместе с загрузкой API. Для этого в строке подключения необходимо указать дополнительный параметр modules со списком модулей, перечисленных через тильду (~):

    <script type="text/javascript" src="https://api-maps.yandex.ru/1.1/?key=API-ключ&modules=regions~metro" charset="utf-8"></script>
  • Загрузка нужного модуля по требованию. Для этого необходимо вызвать функцию YMaps.load следующим образом:

    YMaps.load("regions", callback);

    Также можно загрузить сразу несколько модулей:

    YMaps.load(["regions", "metro"], callback);

Модули загружаются один раз, несколько вызовов метода YMaps.load не приводят к повторной загрузке модуля.