Модули

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

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

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

  • Активные области (hotspots) — позволяется размещать на карте десятки и сотни тысяч объектов без потери производительности.
  • Метро (metro) — предоставляет возможность поиска ближайших станций метро.
  • PlainStyle (plainstyle) — загружает дополнительный набор стилей для значков, балуна и всплывающей подсказки.
  • Пробки (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 не приводят к повторной загрузке модуля.

Предыдущая