Многоугольник
YMapsML - язык описания географических объектов.
Каждому географическому объекту в YMapsML ставятся в соответствие геометрическая фигура и геообъект, используемый для отображения этой фигуры на карте. Описание фигур и их привязка к географическим координатам задаются в соответствующих YMapsML-элементах. Для фигуры "многоугольник" предназначен элемент gml:Polygon. Он содержит элемент gml:exterior, в котором перечисляются координаты вершин внешнего контура многоугольника. Также многоугольник может содержать внутренние контуры. Координаты их вершин задаются в элементе gml:interior.
Для загрузки YMapsML-данных предназначена функция geoXml.load. После того как данные загрузятся, функция преобразует их в GeoObjectCollection и передает в качестве параметра функции-обработчику. Коллекцию геообъектов GeoObjectCollection можно отобразить на карте.
<!DOCTYPE html>
<html>
<head>
<title>Добавление метки на карту</title>
<meta
http-equiv="Content-Type"
content="text/html; charset=utf-8"
/>
<!--
Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
-->
<script
src="https://api-maps.yandex.ru/2.1/?lang=ru-RU&apikey=<ваш API-ключ>"
type="text/javascript"
></script>
<script src="ymapsml_polygon.js" type="text/javascript"></script>
<style>
html,
body,
#map {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<div id="map"></div>
</body>
</html>
ymaps.ready(init);
function init() {
// Создание экземпляра карты.
var myMap = new ymaps.Map(
"map",
{
center: [61.766513, 34.344165],
zoom: 12,
},
{
searchControlProvider: "yandex#search",
}
);
// Загрузка YMapsML-файла.
ymaps.geoXml.load("data.xml").then(
function (res) {
// Добавление геообъектов на карту.
myMap.geoObjects.add(res.geoObjects);
// Вызывается в случае неудачной загрузки YMapsML-файла.
},
function (error) {
alert("Ошибка: " + error);
}
);
}