Модули
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 не приводят к повторной загрузке модуля.