### Yandex Maps API: Map Creation and Management
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples
Examples demonstrating various aspects of map creation and management, including resizing, placement in hidden containers, language changes, basic parameters, margin management, on-demand map creation, and viewport restrictions.
```JavaScript
/*
Пример кода для изменения размера карты
*/
// Инициализация карты
var myMap = new ymaps.Map("map", {
center: [55.751538, 37.614924],
zoom: 10
});
// Изменение размера карты
myMap.container.fitToViewport();
/*
Пример кода для размещения карты в скрытом контейнере
*/
// Предполагается, что контейнер карты изначально скрыт
// После отображения контейнера, нужно вызвать fitToViewport
// myMap.container.fitToViewport();
/*
Пример кода для изменения языка карты
*/
// ymaps.load('//api-maps.yandex.ru/2.1/?lang=en_US', function () {
// var myMap = new ymaps.Map("map", {
// center: [55.751538, 37.614924],
// zoom: 10
// });
// });
/*
Пример кода для создания и удаления карты
*/
// var myMap = new ymaps.Map("map", {
// center: [55.751538, 37.614924],
// zoom: 10
// });
// // ... дальнейшие действия с картой ...
// myMap.destroy(); // Удаление карты
/*
Пример кода для основных параметров карты
*/
// var myMap = new ymaps.Map("map", {
// center: [55.751538, 37.614924],
// zoom: 10,
// controls: ["zoomControl", "fullscreenControl"]
// });
/*
Пример кода для менеджера отступов
*/
// var myMap = new ymaps.Map("map", {
// center: [55.751538, 37.614924],
// zoom: 10
// });
// var marginManager = new ymaps.util.MarginManager(myMap);
/*
Пример кода для создания карты по требованию
*/
// var myMap;
// function initMap() {
// myMap = new ymaps.Map("map", {
// center: [55.751538, 37.614924],
// zoom: 10
// });
// }
// // Вызов initMap() при необходимости
/*
Пример кода для использования опции ограничения области просмотра карты
*/
// var myMap = new ymaps.Map("map", {
// center: [55.751538, 37.614924],
// zoom: 10,
// // Ограничение области просмотра
// options: {
// maxMapArea: [[54, 36], [56, 39]]
// }
// });
```
--------------------------------
### Yandex Maps API: Map Action Example
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map
Demonstrates how to create and execute a map action using the Yandex Maps API. This includes defining an action with specific center, zoom, duration, and timing function, and then applying it to the map.
```javascript
var myAction = new ymaps.map.action.Single({
center: [0, 0],
zoom: 4,
duration: 1000,
timingFunction: "ease-in"
});
myMap.action.execute(myAction);
```
--------------------------------
### HTML для инициализации карты и подключения скриптов
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/custom_module
HTML-файл для страницы с картой Яндекс. Указывает API-ключ, подключает внешний JavaScript-файл с пользовательским модулем и определяет стили для карты и счетчика меток.
```html
Создание своего модуля
```
--------------------------------
### Get Marker Position (JavaScript)
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/dg/concepts/panoramas/custom-panorama
This method returns the coordinates of a marker within the panorama's coordinate system. A simplified example returns fixed coordinates [2.35, 1, 0].
```javascript
Marker.prototype.getPosition = function () {
return [2.35, 1, 0];
};
```
--------------------------------
### Splice GeoObjectCollection
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/GeoObjectCollection
Modifies the collection by removing geo-objects starting at a given index and optionally inserting new ones. It returns the collection of removed objects. Examples show removing, inserting, and replacing objects.
```javascript
// Удаляет второй объект.
myGeoObjects.splice(1, 1);
// Вставляет новый объект obj во вторую позицию.
myGeoObjects.splice(1, 0, obj);
// Заменяет второй объект на новый объект obj.
myGeoObjects.splice(1, 1, obj);
```
--------------------------------
### Обработка события dragstart в Yandex Maps API
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Placemark
Событие 'dragstart' срабатывает при начале перетаскивания геообъекта. Оно предоставляет доступ к координатам и исходному DOM-событию через метод Event.get.
```javascript
myGeoObject.events.add('dragstart', function (event) {
var position = event.get('position');
console.log('Начало перетаскивания:', position);
});
```
--------------------------------
### Yandex Maps JS API: Get Traffic Provider Example
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control
Demonstrates how to add a traffic control to the map and retrieve a traffic provider instance. It shows how to set the 'infoLayerShown' state for the 'traffic#actual' provider.
```javascript
map.controls.add('trafficControl');
map.controls.get('trafficControl').getProvider('traffic#actual').state.set('infoLayerShown', true);
```
--------------------------------
### Map ZoomRange: Get Max Zoom Level at a Point
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map
Provides access to information about available zoom levels at a specific point on the map. This example retrieves and alerts the maximum zoom level available at coordinates [20, 30].
```javascript
// Узнаем максимальный доступный в точке [20, 30] уровень
// масштабирования карты.
map.zoomRange.get([20, 30]).then(function (zoomRange) {
alert(zoomRange[1]);
});
```
--------------------------------
### JavaScript Инициализация и Пользовательский Поиск
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/custom_search
JavaScript-код для инициализации карты Яндекс.Карты, добавления коллекции объектов (меток) и настройки элемента управления SearchControl с пользовательским провайдером поиска. Провайдер ищет объекты по заданному массиву.
```JavaScript
function init(var myMap = new ymaps.Map("map", {
center: [55.7, 37.5],
zoom: 9,
controls: ["zoomControl"],
}),
// Создаем коллекцию.
myCollection = new ymaps.GeoObjectCollection(),
// Создаем массив с данными.
myPoints = [
{ coords: [55.77, 37.46], text: "Трактир" },
{ coords: [55.66, 37.48], text: "Кафе" },
{ coords: [55.65, 37.42], text: "Ресторан" },
{ coords: [55.64, 37.54], text: "Музей" },
{ coords: [55.54, 37.52], text: "Библиотека" },
{ coords: [55.53, 37.56], text: "Школа" },
{ coords: [55.61, 37.61], text: "Аптека" },
{ coords: [55.8, 37.58], text: "Бар" },
{ coords: [55.71, 37.35], text: "Институт" },
{ coords: [55.74, 37.57], text: "Университет" },
{ coords: [55.58, 37.69], text: "Больница" },
{ coords: [55.57, 37.7], text: "Цирк" },
{ coords: [55.55, 37.64], text: "Магазин" },
{ coords: [55.5, 37.75], text: "Булочная" },
{ coords: [55.81, 37.73], text: "Полиция" },
{ coords: [55.73, 37.68], text: "Салон красоты" },
{ coords: [55.86, 37.76], text: "Баня" },
{ coords: [55.38, 37.69], text: "Гараж" },
{ coords: [55.91, 37.5], text: "Дом" },
{ coords: [55.62, 37.32], text: "Прачечная" },
{ coords: [55.85, 37.41], text: "Стадион" },
{ coords: [55.67, 37.24], text: "Вокзал" },
]);
// Заполняем коллекцию данными.
for (var i = 0, l = myPoints.length; i < l; i++) {
var point = myPoints[i];
myCollection.add(
new ymaps.Placemark(point.coords, {
balloonContentBody: point.text,
})
);
}
// Добавляем коллекцию меток на карту.
myMap.geoObjects.add(myCollection);
// Создаем экземпляр класса ymaps.control.SearchControl
var mySearchControl = new ymaps.control.SearchControl({
options: {
// Заменяем стандартный провайдер данных (геокодер) нашим собственным.
provider: new CustomSearchProvider(myPoints),
// Не будем показывать еще одну метку при выборе результата поиска,
// т.к. метки коллекции myCollection уже добавлены на карту.
noPlacemark: true,
resultsPerPage: 5,
},
});
// Добавляем контрол в верхний правый угол,
myMap.controls.add(mySearchControl, { float: "right" });
}
// Провайдер данных для элемента управления ymaps.control.SearchControl.
// Осуществляет поиск геообъектов в по массиву points.
// Реализует интерфейс IGeocodeProvider.
function CustomSearchProvider(points) {
this.points = points;
}
// Провайдер ищет по полю text стандартным методом String.ptototype.indexOf.
CustomSearchProvider.prototype.geocode = function (request, options) {
var deferred = new ymaps.vow.defer(),
geoObjects = new ymaps.GeoObjectCollection(),
// Сколько результатов нужно пропустить.
offset = options.skip || 0,
// Количество возвращаемых результатов.
limit = options.results || 20;
var points = [];
```
--------------------------------
### Yandex Maps API: GeoXML Display
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples
Code examples for displaying GPX and KML files on the map, and comparing routes for GPX and KML formats.
```JavaScript
/*
Пример кода для отображения GPX и KML
*/
// ymaps.ready(function () {
// var myMap = new ymaps.Map("map", {
// center: [55.751538, 37.614924],
// zoom: 10
// });
//
// // Загрузка GPX файла
// ymaps.geoXml.load('path/to/your/file.gpx').then(function (res) {
// myMap.geoObjects.add(res.geoObjects);
// });
//
// // Загрузка KML файла
// ymaps.geoXml.load('path/to/your/file.kml').then(function (res) {
// myMap.geoObjects.add(res.geoObjects);
// });
// });
/*
Пример кода для сравнения маршрутов для GPX и KML
*/
// // Этот пример предполагает, что у вас есть два файла: route1.gpx и route2.kml
// ymaps.ready(function () {
// var myMap = new ymaps.Map("map", {
// center: [55.751538, 37.614924],
// zoom: 10
// });
//
// // Загрузка первого маршрута (GPX)
// ymaps.geoXml.load('path/to/route1.gpx').then(function (res) {
// var route1 = res.geoObjects;
// route1.options.set("strokeColor", "FF0000"); // Красный цвет для первого маршрута
// myMap.geoObjects.add(route1);
// });
//
// // Загрузка второго маршрута (KML)
// ymaps.geoXml.load('path/to/route2.kml').then(function (res) {
// var route2 = res.geoObjects;
// route2.options.set("strokeColor", "0000FF"); // Синий цвет для второго маршрута
// myMap.geoObjects.add(route2);
// });
// });
```
--------------------------------
### Handle Click Events on Single Objects (JavaScript)
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/dg/concepts/loading-object-manager/frontend
Provides an example of handling click events on individual objects within the Object Manager. It shows how to get object details and update an object's options upon a click event.
```javascript
function onObjectEvent (e) {
var objectId = e.get('objectId'),
objectGeometry = loadingObjectManager.objects.getById(objectId).geometry.type;
if (objectGeometry === 'Point') {
loadingObjectManager.objects.setObjectOptions(objectId, {
preset: 'islands#yellowIcon'
});
}
}
loadingObjectManager.objects.events.add(['click'], onObjectEvent);
```
--------------------------------
### Создание и управление панелью в Яндекс.Картах
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/sidebar
Этот код демонстрирует создание экземпляра панели, добавление ее на карту и установку контента панели при клике на метку. Он также включает перемещение карты к выбранной метке.
```javascript
setContent: function (text) {
// При задании контента будем показывать панель.
this._$control.css("display", "flex");
this._$content.html(text);
},
});
provide(Panel);
}
);
```
```javascript
ymaps.ready(["Panel"]).then(function (var map = new ymaps.Map("map", {
center: [55.733, 37.588],
zoom: 10,
controls: [],
});
// Создадим контент для меток.
var firstOffice =
"Первый полноценный офис Яндекса появился в Москве в 2001 году. " +
"Тогда компания занимала небольшой корпус Вычислительного центра РАН на улице Вавилова, там работало 60 человек.";
var secondOffice = "Второй офис Яндекса на Самокатной улице.";
var thirdOffice =
'Главный офис Яндекса' +
"В офисе на улице Льва Толстого находится штаб-квартира Яндекса, он самый большой и по размерам, " +
"и по численности сотрудников. Сейчас он занимает почти целый квартал между улицами Льва Толстого " +
"и Тимура Фрунзе. Общая площадь всех зданий — более 50 тысяч квадратных метров.";
// Создадим и добавим панель на карту.
var panel = new ymaps.Panel();
map.controls.add(panel, {
float: "left",
});
// Создадим коллекцию геообъектов.
var collection = new ymaps.GeoObjectCollection(null, {
// Запретим появление балуна.
hasBalloon: false,
iconColor: "#3b5998",
});
// Добавим геообъекты в коллекцию.
collection
.add(
new ymaps.Placemark([55.733838, 37.5881], {
balloonContent: thirdOffice,
})
)
.add(
new ymaps.Placemark([55.75824, 37.678523], {
balloonContent: secondOffice,
})
)
.add(
new ymaps.Placemark([55.693784, 37.564942], {
balloonContent: firstOffice,
})
);
// Добавим коллекцию на карту.
map.geoObjects.add(collection);
// Подпишемся на событие клика по коллекции.
collection.events.add("click", function (e) {
// Получим ссылку на геообъект, по которому кликнул пользователь.
var target = e.get("target");
// Зададим контент боковой панели.
panel.setContent(target.properties.get("balloonContent"));
// Переместим центр карты по координатам метки с учётом заданных отступов.
map.panTo(target.geometry.getCoordinates(), { useMapMargin: true });
});
});
```
--------------------------------
### Описание поля expanded
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPanoramaMarkerIconSet
Представляет иконку для активного состояния маркера, которое достигается при клике. Может быть null. Тип данных: IPanoramaMarkerIcon | null.
```javascript
{IPanoramaMarkerIcon|null} expanded
```
--------------------------------
### Map Events: Track All Map Movements (actiontick)
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map
Handles the 'actiontick' event, which fires at the start of each smooth map movement step. This example logs detailed information about the upcoming map movement, including destination coordinates and duration.
```javascript
// Отслеживает все перемещения карты, даже перетаскивание пользователем
// и плавное масштабирование.
map.events.add('actiontick', function (e) {
var tick = e.get('tick');
console.log('Сейчас карта переместится в точку (' +
map.options.get('projection').fromGlobalPixels(tick.globalPixelCenter, tick.zoom).join(',') +
') в течение ' + e.get('tick').duration + ' миллисекунд');
});
```
--------------------------------
### Get Global Pixel Center of Map - JavaScript
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map
Obtains the global pixel coordinates of the Yandex map's center. The 'getGlobalPixelCenter' method, similar to 'getCenter', can also consider map margins. The example shows how to use it to shift the map horizontally.
```javascript
// Сдвинем карту на 10 пикселей влево.
var position = map.getGlobalPixelCenter();
map.setGlobalPixelCenter([ position[0] - 10, position[1] ]);
```
--------------------------------
### HTML для карты с кластеризатором
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/clusterer_create
Базовый HTML-шаблон для веб-страницы, отображающей карту Яндекс.API. Включает подключение API, скрипт кластеризатора и стили для карты.
```html
Создание кластеризатора
```
--------------------------------
### Обработка события hintopen в Yandex Maps API
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Placemark
Событие 'hintopen' срабатывает при открытии хинта на геообъекте. Это событие является экземпляром класса Event и унаследовано от GeoObject. Для обработки этого события можно использовать метод addListener.
```javascript
myGeoObject.events.add('hintopen', function (event) {
console.log('Хинт открыт');
});
```
--------------------------------
### JavaScript: Get Connected Panorama for Arrow
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/dg/concepts/panoramas/custom-panorama
Provides examples for the `getConnectedPanorama` method within a Yandex Maps connection arrow implementation. It shows how to return a Promise resolving to a specific panorama or how to locate a panorama using Yandex's `locate` function.
```JavaScript
getConnectedPanorama: function () {
return ymaps.vow.resolve(new MyPanorama(/* Параметры панорамы. */));
}
```
```JavaScript
getConnectedPanorama: function () {
return ymaps.panorama.locate([55.732, 37.584]).then(
function(panoramas) {
if (panoramas.length) {
return panoramas[0];
} else {
console.log("Панорама не найдена.");
}
}
);
}
```
--------------------------------
### Yandex Maps JS API: Get Object State and Handle Cluster/Individual Object Balloons
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LoadingObjectManager
This example shows how to retrieve the state of an object managed by ObjectManager, check if it's visible and clustered, and then open either the cluster's balloon or the object's individual balloon accordingly.
```javascript
var objectState = objectManager.getObjectState(objects[1].id);
if (objectState.found && objectState.isShown) {
if (objectState.isClustered) {
objectManager.clusters.state.set('activeObject', objects[1]);
objectManager.clusters.balloon.open(objectState.cluster.id);
} else {
objectManager.objects.balloon.open(objects[i].id);
}
}
```
--------------------------------
### Инициализация карты и кластеризатора с открытием балуна метки
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/clusterer_balloon_open
JavaScript-код для инициализации карты Яндекс, создания кластеризатора, добавления на карту меток и открытия балуна конкретной метки внутри кластера. Требует API-ключ Яндекс.Карт.
```javascript
ymaps.ready(function (var myMap = new ymaps.Map(
"map",
{
center: [55.751574, 37.573856],
zoom: 9,
},
{
searchControlProvider: "yandex#search",
}
),
clusterer = new ymaps.Clusterer(),
getPointData = function (index) {
return {
balloonContentBody:
"балун метки " + index + "",
clusterCaption: "метка " + index + "",
};
},
points = [
[55.831903, 37.411961],
[55.763338, 37.565466],
[55.763338, 37.565466],
[55.744522, 37.616378],
[55.780898, 37.642889],
[55.793559, 37.435983],
[55.800584, 37.675638],
[55.716733, 37.589988],
[55.775724, 37.56084],
[55.822144, 37.433781],
[55.87417, 37.669838],
[55.71677, 37.482338],
[55.78085, 37.75021],
[55.810906, 37.654142],
[55.865386, 37.713329],
[55.847121, 37.525797],
[55.778655, 37.710743],
[55.623415, 37.717934],
[55.863193, 37.737],
[55.86677, 37.760113],
[55.698261, 37.730838],
[55.6338, 37.564769],
[55.639996, 37.5394],
[55.69023, 37.405853],
[55.77597, 37.5129],
[55.775777, 37.44218],
[55.811814, 37.440448],
[55.751841, 37.404853],
[55.627303, 37.728976],
[55.816515, 37.597163],
[55.664352, 37.689397],
[55.679195, 37.600961],
[55.673873, 37.658425],
[55.681006, 37.605126],
[55.876327, 37.431744],
[55.843363, 37.778445],
[55.875445, 37.549348],
[55.662903, 37.702087],
[55.746099, 37.434113],
[55.83866, 37.712326],
[55.774838, 37.415725],
[55.871539, 37.630223],
[55.657037, 37.571271],
[55.691046, 37.711026],
[55.803972, 37.65961],
[55.616448, 37.452759],
[55.781329, 37.442781],
[55.844708, 37.74887],
[55.723123, 37.406067],
[55.858585, 37.48498],
],
geoObjects = [];
for (var i = 0, len = points.length; i < len; i++) {
geoObjects[i] = new ymaps.Placemark(points[i], getPointData(i));
}
clusterer.add(geoObjects);
myMap.geoObjects.add(clusterer);
// Откроем балун на третьей метке в массиве.
var objectState = clusterer.getObjectState(geoObjects[2]);
if (objectState.isClustered) {
// Если метка находится в кластере, выставим ее в качестве активного объекта.
// Тогда она будет "выбрана" в открытом балуне кластера.
objectState.cluster.state.set("activeObject", geoObjects[2]);
clusterer.balloon.open(objectState.cluster);
} else if (objectState.isShown) {
// Если метка не попала в кластер и видна на карте, откроем ее балун.
geoObjects[2].balloon.open();
}
```
--------------------------------
### Get GeoObject by index (JavaScript)
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/GeoQueryResult
The 'get' method retrieves a specific geoObject from a geoQuery selection by its index. This is useful for accessing elements after sorting or filtering.
```javascript
var result = ymaps.geoQuery(placemarks).sort('lat');
// Самый южный объект.
southObject = result.get(0),
// Самый северный объект.
northObject = result.get(result.getLength() - 1);
```
```javascript
var result = ymaps.geoQuery(ymaps.geocode('кафе Москва')).sort('lat');
// Нужно дождаться готовности результата для дальнейшей обработки.
result.then(function (// Самый южный объект.
var southObject = result.get(0),
// Самый северный объект.
var northObject = result.get(result.getLength() - 1)
));
```
--------------------------------
### Yandex Maps JS API: ObjectManager Event Handling Example
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ObjectManager
An example demonstrating how to handle click events on objects within the ObjectManager. When an object is clicked, its balloon is opened.
```javascript
objectManager.objects.events.add('click', function (e) {
var objectId = e.get('objectId');
objectManager.objects.balloon.open(objectId);
});
```
--------------------------------
### Инициализация карты с помощью JavaScript API
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru
Пример JavaScript-кода для инициализации карты Яндекс. Функция `ymaps.ready(init)` гарантирует, что карта будет создана после полной загрузки API и DOM-дерева. Указывается идентификатор контейнера, центр карты и уровень масштабирования.
```javascript
ymaps.ready(init);
function init(){
var myMap = new ymaps.Map("map", {
center: [55.76, 37.64],
zoom: 7
});
}
```
--------------------------------
### Метод get для IGeoObjectSequence
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeoObjectSequence
Метод get возвращает дочерний геообъект из коллекции по указанному индексу. Индексация начинается с 0.
```javascript
IGeoObjectSequence.prototype.get = function(index) {
// Реализация метода
}
```
--------------------------------
### HTML для карты Yandex
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/placemark
HTML-структура для отображения карты Yandex. Включает подключение API Yandex Maps с указанием языка и API-ключа, а также подключение файла со скриптами для инициализации карты.
```html
Добавление метки на карту
```
--------------------------------
### Получение элемента выборки по индексу (get)
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/dg/concepts/geoquery
Метод `get` возвращает элемент выборки по указанному индексу. Пример демонстрирует получение самого южного и самого северного объектов после сортировки.
```javascript
var result = ymaps.geoQuery(placemarks).sort('lat'),
// Самый южный объект.
southObject = result.get(0),
// Самый северный объект.
northObject = result.get(result.getLength() - 1);
```
--------------------------------
### Отключение масштабирования карты в мобильных браузерах (HTML)
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/dg/concepts/load
Метатег viewport для отключения обработки жеста масштабирования на мобильных устройствах, чтобы избежать увеличения масштаба всей страницы при использовании жестов над картой.
```html
```
--------------------------------
### Get Address Line - Yandex Maps API
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/GeocodeResult
Retrieves the complete address string for a GeoObject. This method is part of the Yandex Maps API v2.1 and is used to get a formatted address.
```JavaScript
{
String
} getAddressLine()
```
--------------------------------
### HTML структура для карты с ObjectManager
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/object_manager
HTML-файл для инициализации Яндекс.Карты и подключения скриптов, включая ObjectManager. Содержит базовую структуру страницы, стили и ссылки на необходимые JS-файлы.
```html
Оптимальное добавление множества меток
```
--------------------------------
### Polygon and Polyline Drawing Guides Fix JSAPI 2.1.20
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/versions
In the editor, drawing guides for polygons and polylines are now displayed correctly in drawing mode. This improves the user experience for creating vector shapes.
--------------------------------
### HTML структура для Яндекс Карты
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/default_controls
Базовая HTML-структура для инициализации Яндекс Карты с подключением API и пользовательского скрипта. Включает мета-теги, ссылку на API Яндекс Карт с указанием языка и API-ключа, а также стили для контейнера карты.
```HTML
Стандартный набор элементов управления
```
--------------------------------
### Get Geometry Length
Source: https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILinearRingGeometryAccess
Returns the number of points in the geometry.
```javascript
getLength()
```