2gis-maps
Version:
Interactive 2GIS maps API, based on Leaflet
255 lines (243 loc) • 10.9 kB
HTML
<h2 id="руководство-по переходу на api 20">Руководство по переходу на API 2.0</h2><p><dl class="api-incut"><ul class="page-contents"><li><a href="#описание">Описание</a></li><li><a href="#подключение-api">Подключение API</a></li><li><a href="#инициализация-карты">Инициализация карты</a></li><li><a href="#отображение-маркера">Отображение маркера</a></li><li><a href="#отображение-группы маркеров">Отображение группы маркеров</a></li><li><a href="#отображение-маркера с привязанным попапом">Отображение маркера с привязанным попапом</a></li><li><a href="#отображение-попапа">Отображение попапа</a></li><li><a href="#отображение-элемента управления">Отображение элемента управления</a></li><li><a href="#подписка-на события">Подписка на события</a></li></ul></dl></p>
<h3 id="описание">Описание</h3><p>Раздел содержит примеры кода основных возможностей, которые помогут вам прейти с API карт
версии 1.0 на API карт версии 2.0.</p>
<h3 id="подключение-api">Подключение API</h3><table>
<thead>
<tr>
<td><a href="/doc/maps/1.0/manual/map/#toc-load">Версия 1.0</a></td>
<td><a href="/doc/maps/ru/manual/loading">Версия 2.0</a></td>
</tr>
</thead>
<tbody>
<tr>
<td>
<code><script src="<a href="https://maps.api.2gis.ru/1.0"></script&gt">https://maps.api.2gis.ru/1.0"></script&gt</a>;
DG.autoload(function() {
// инициализация карты
...
});</code>
</td>
<td>
<code><script src="<a href="https://maps.api.2gis.ru/2.0/loader.js?pkg=full"></script&gt">https://maps.api.2gis.ru/2.0/loader.js?pkg=full"></script&gt</a>;
DG.then(function() {
// инициализация карты
...
});</code>
</td>
</tr>
</tbody>
</table>
<h3 id="инициализация-карты">Инициализация карты</h3><table>
<thead>
<tr>
<td><a href="/doc/maps/1.0/manual/map/#toc-init">Версия 1.0</a></td>
<td><a href="/doc/maps/ru/manual/map#dgmap">Версия 2.0</a></td>
</tr>
</thead>
<tbody>
<tr>
<td>
<code>var map = new DG.Map('map');
<nobr>var center = new DG.GeoPoint(82.89, 55.98);</nobr>
map.setCenter(center, 13);</code>
</td>
<td>
<code>var map = DG.map('map', {
<nobr>'center': [54.98, 82.89],</nobr>
'zoom': 13
});</code>
</td>
</tr>
</tbody>
</table>
<h3 id="отображение-маркера">Отображение маркера</h3><p>Добавление на карту маркера с картинкой по умолчанию:</p>
<table>
<thead>
<tr>
<td><a href="/doc/maps/1.0/manual/markers/#toc-base">Версия 1.0</a></td>
<td><a href="/doc/maps/ru/manual/markers#dgmarker">Версия 2.0</a></td>
</tr>
</thead>
<tbody>
<tr>
<td>
<code><nobr>var position = new DG.GeoPoint(82.89, 54.98);</nobr>
var marker = new DG.Markers.Common({
geoPoint: position
});
map.markers.add(marker);</code>
</td>
<td>
<code><nobr>DG.marker([54.98, 82.89]).addTo(map);</nobr></code>
</td>
</tr>
</tbody>
</table>
<p>Добавление на карту маркера с адаптивной пользовательской картинкой:</p>
<table>
<thead>
<tr>
<td><a href="/doc/maps/1.0/manual/utils/#fun-getAdaptiveAcon">Версия 1.0</a></td>
<td><a href="/doc/maps/ru/manual/markers#dgicon">Версия 2.0</a></td>
</tr>
</thead>
<tbody>
<tr>
<td>
<code><nobr>var position = new DG.GeoPoint(82.89, 54.98);</nobr>
var desktopParams = [
'desktop-icon.png',
24, 24,
function() {
return new DG.Point(-12, -12)
}
];
var mobileParams = [
'{density}-icon.png',
34, 34,
function() {
return new DG.Point(-17, -17)
}
];
var myIcon = DG.Utils.getAdaptiveIcon({
desktop: desktopParams,
mobile: mobileParams
});
var marker = new DG.Markers.Common({
geoPoint: position,
icon: myIcon
});
map.markers.add(marker);</code>
</td>
<td>
<code>var myIcon = DG.icon({
iconUrl: 'my-icon.png',
<nobr>iconRetinaUrl: 'my-icon@2x.png',</nobr>
iconSize: [24, 24],
iconAnchor: [-12, -12]
});
DG.marker([54.98, 82.89], {
icon: myIcon
}).addTo(map);</code>
</td>
</tr>
</tbody>
</table>
<h3 id="отображение-группы маркеров">Отображение группы маркеров</h3><table>
<thead>
<tr>
<td><a href="/doc/maps/1.0/manual/markers/#toc-dgmarkersgroup">Версия 1.0</a></td>
<td><a href="/doc/maps/ru/manual/other-layers#dglayergroup">Версия 2.0</a></td></tr>
</thead>
<tbody>
<tr>
<td>
<code><nobr>map.markers.createGroup('myGroup');</nobr>
map.markers.add(marker1, 'myGroup');
map.markers.add(marker2, 'myGroup');
map.markers.add(marker3, 'myGroup');</code>
</td>
<td>
<code><nobr>DG.layerGroup([marker1, marker2])</nobr>
.addLayer(marker3).addTo(map);</code>
</td>
</tr>
</tbody>
</table>
<h3 id="отображение-маркера с привязанным попапом">Отображение маркера с привязанным попапом</h3><table>
<thead>
<tr>
<td><a href="/doc/maps/1.0/manual/markers/#toc-dgmarkersballoon">Версия 1.0</a></td>
<td><a href="/doc/maps/ru/manual/base-classes#layer-bindpopup">Версия 2.0</a></td>
</tr>
</thead>
<tbody>
<tr>
<td>
<code><nobr>var position = new DG.GeoPoint(82.89, 54.98);</nobr>
var marker = new DG.Markers.MarkerWithBalloon({
geoPoint: position,
balloonOptions: {
contentHtml: 'Я бабочка!'
}
});
map.markers.add(marker);</code>
</td>
<td>
<code>DG.marker([54.98, 82.89])
<nobr>.addTo(map).bindPopup('Я бабочка!');</nobr></code>
</td>
</tr>
</tbody>
</table>
<h3 id="отображение-попапа">Отображение попапа</h3><table>
<thead>
<tr>
<td><a href="/doc/maps/1.0/manual/balloons/#balloon-intro">Версия 1.0</a></td>
<td><a href="/doc/maps/ru/manual/popup#dgpopup">Версия 2.0</a></td>
</tr>
</thead>
<tbody>
<tr>
<td>
<code><nobr>var position = new DG.GeoPoint(82.89, 54.98);</nobr>
var myBalloon = new DG.Balloons.Common({
geoPoint: position,
contentHtml: 'Привет!'
});
map.balloons.add(myBalloon);</code>
</td>
<td>
<code>DG.popup()
.setLatLng([54.98, 82.89])
.setContent('Привет!')
.addTo(map);</code>
</td>
</tr>
</tbody>
</table>
<h3 id="отображение-элемента управления">Отображение элемента управления</h3><p>Отображение пользовательского элемента управления в правом верхнем углу карты:</p>
<table>
<thead>
<tr>
<td><a href="/doc/maps/1.0/manual/controls/#toc-intro">Версия 1.0</a></td>
<td><a href="/doc/maps/ru/manual/controls">Версия 2.0</a></td></tr>
</thead>
<tbody>
<tr>
<td>
<code>var myControl = new MyControl();
var positionOffset = new DG.Point(0, 0);
var position = new DG.ControlPosition(DG.ControlPosition.TOP_RIGHT, positionOffset);
map.controls.add(myControl, null, position);</code>
</td>
<td>
<code><nobr>DG.control({ position: 'topright' })</nobr>
.addTo(map)</code>
</td>
</tr>
</tbody>
</table>
<h3 id="подписка-на события">Подписка на события</h3><table>
<thead>
<tr>
<td><a href="/doc/maps/1.0/manual/events/#toc-intro">Версия 1.0</a></td>
<td><a href="/doc/maps/ru/manual/base-classes#events">Версия 2.0</a></td>
</tr>
</thead>
<tbody>
<tr>
<td>
<code><nobr>var callback = function(e) {</nobr>
console.log(e.getPoint());
};
map.addEventListener(map.getContainerId(), 'DgClick', callback);</code>
</td>
<td>
<code><nobr>map.on('click', function(e) {</nobr>
console.log(e.latlng);
});</code>
</td>
</tr>
</tbody>
</table>