2gis-maps
Version:
Interactive 2GIS maps API, based on Leaflet
64 lines (62 loc) • 3.82 kB
HTML
<h2 id="внешние-модули">Внешние модули</h2><p>Кроме возможности подключить один из <a href="/doc/maps/ru/manual/dg-loading#loading-pkg">пакетов</a> модулей 2ГИС,
вы можете загружать модули других разработчиков со сторонних серверов. API карт совместим с большинством
<a target="_blank" href="http://leafletjs.com/plugins.html">модулей библиотеки</a> Leaflet.
Также вы можете разработать и подключить
<a href="https://github.com/2gis/maps-api-2.0/blob/master/CONTRIBUTING.md#%D0%9A%D0%B0%D0%BA-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C-%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C" target="_blank">собственный модуль</a>.</p>
<p><dl class="api-incut"><ul class="page-contents"><li><a href="#подключение">Подключение</a></li><li><a href="#dgplugin">DG.plugin</a></li></ul></dl></p>
<h3 id="подключение">Подключение</h3><p>Для подключения внешних модулей используется функция <code>DG.plugin</code>.
Ниже мы рассмотрим несколько примеров ее использования.</p>
<p>Использование функции <code>DG.plugin</code> в случае, когда модуль должен быть
загружен до начала инициализации карты:</p>
<pre><code>// загрузка кода 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);
});
</code></pre><p>Если модуль не нужен на начальном этапе работы с картой, тогда можно использовать его отложенную
загрузку и инициализацию (например, при клике на кнопку):</p>
<pre><code>// загрузка кода 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);
});
</code></pre><h3 id="dgplugin">DG.plugin</h3><p>Отвечает за загрузку внешних модулей. Параметры функции:</p>
<table>
<thead>
<tr>
<th>Вызов</th>
<th>Возвращает</th>
<th>Описание</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>DG.plugin</b>(
<nobr><String> <i>url</i> | </nobr>
<nobr><Array> <i>[<String> url, <String> url, ...]</i></nobr> )
</code></td>
<td><code>Promise</code></td>
<td>Загружает модули. В качестве параметров должны быть указкны прямые ссылки на js и css файлы.</td>
</tr>
</tbody>
</table>