UNPKG

2gis-maps

Version:

Interactive 2GIS maps API, based on Leaflet

64 lines (62 loc) 3.82 kB
<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(&#39;https://raw.github.com/mlevans/leaflet-hash/master/leaflet-hash.js&#39;); }) .then(function() { // инициализация карты var map = DG.map(&#39;map&#39;, { &#39;center&#39;: [54.98, 82.89], &#39;zoom&#39;: 13 }); // инициализация модуля L.hash(map); }); </code></pre><p>Если модуль не нужен на начальном этапе работы с картой, тогда можно использовать его отложенную загрузку и инициализацию (например, при клике на кнопку):</p> <pre><code>// загрузка кода API карт DG.then(function() { // инициализация карты map = DG.map(&#39;map&#39;, { &#39;center&#39;: [54.98, 82.89], &#39;zoom&#39;: 13 }); }); // код, который может быть вызван по требованию DG.then(function() { // загрузка кода модуля return DG.plugin(&#39;https://raw.github.com/mlevans/leaflet-hash/master/leaflet-hash.js&#39;); }).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>&lt;String&gt; <i>url</i>&nbsp;|&nbsp;</nobr> <nobr>&lt;Array&gt; <i>[&lt;String&gt; url, &lt;String&gt; url, ...]</i></nobr>&nbsp;) </code></td> <td><code>Promise</code></td> <td>Загружает модули. В качестве параметров должны быть указкны прямые ссылки на js и css файлы.</td> </tr> </tbody> </table>