Внешние модули

Кроме возможности подключить один из пакетов модулей 2ГИС, вы можете загружать модули других разработчиков со сторонних серверов. API карт совместим с большинством модулей библиотеки Leaflet. Также вы можете разработать и подключить собственный модуль.

Подключение

Для подключения внешних модулей используется функция DG.plugin. Ниже мы рассмотрим несколько примеров ее использования.

Использование функции DG.plugin в случае, когда модуль должен быть загружен до начала инициализации карты:

// загрузка кода API карт
DG.then(function() {
    // загрузка кода модуля
    return DG.plugin('https://raw.github.com/mlevans/leaflet-hash/master/leaflet-hash.js');
})
.then(function() {
    // инициализация карты
    var map = DG.map('map', {
        'center': [54.98, 82.89],
        'zoom': 13
    });
    // инициализация модуля
    L.hash(map);
});

Если модуль не нужен на начальном этапе работы с картой, тогда можно использовать его отложенную загрузку и инициализацию (например, при клике на кнопку):

// загрузка кода API карт
DG.then(function() {
    // инициализация карты
    map = DG.map('map', {
        'center': [54.98, 82.89],
        'zoom': 13
    });
});

// код, который может быть вызван по требованию
DG.then(function() {
    // загрузка кода модуля
    return DG.plugin('https://raw.github.com/mlevans/leaflet-hash/master/leaflet-hash.js');
}).then(function () {
    // инициализация модуля
    L.hash(map);
});

DG.plugin

Отвечает за загрузку внешних модулей. Параметры функции:

Вызов Возвращает Описание
DG.plugin( <String> url |  <Array> [<String> url, <String> url, ...] ) Promise Загружает модули. В качестве параметров должны быть указкны прямые ссылки на js и css файлы.