> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/maps/ymapsml/doc/ru/llms.txt

# Использование YMapsML

YMapsML является открытым, документированным и простым XML-языком описания географических данных. JavaScript API Яндекс.Карт предоставляют средства для автоматической загрузки информации из YMapsML-файлов и отображения их на карте.

Проекты Яндекса, связанные с картографическим сервисами, обмениваются между собой данными именно в этом формате. [Сервис геокодирования](https://yandex.ru/dev/geocode/doc/ru/) Яндекс.Карт допускает обращение по HTTP-протоколу и возвращает ответ в виде YMapsML.

Приведённая информация позволяет обозначить основные способы применения YMapsML:

1. **Формирование YMapsML-файла и отображение содержащейся в нём информации средствами Javascript API.**
    
    Создать YMapsML-файл очень просто — достаточно взять любой текстовый редактор и ввести необходимую информацию в соответствии со спецификацией языка. Получить представление о том, как выглядят YMapsML-файлы, можно из [примеров](https://tech.yandex.ru/maps/jsbox/2.1/ymapsml_simpleobject), приведённых в данном руководстве. Эти примеры удобно использовать в качестве основы для собственных экспериментов.
    
    Ручное редактирование YMapsML-файлов используется, конечно, довольно редко. Обычно файлы генерируются автоматически, например, на основе информации, содержащейся в базе данных. YMapsML является XML-форматом. Практически все современные языки программирования и среды разработки содержат инструменты для представления данных в XML. Таким образом, автоматическое формирование YMapsML-файлов не является сложной задачей.
    
    В настоящее время большое количество географических данных представляется в XML-форматах. Проиллюстрировать это утверждение можно [множеством языков, являющихся прикладными схемами или профилями GML](http://www.ogcnetwork.net/node/210). Не составляет большого труда отобразить такие данные на Яндекс.Картах — достаточно преобразовать их в формат YMapsML (например, с помощью, [XSLT](http://ru.wikipedia.org/wiki/XSLT)).
    
    На странице с примерами размещён [пример отображения на Яндекс.Картах информации о землетрясениях](https://tech.yandex.ru/maps/jsbox/2.1/ymapsml_georss), данные о которых изначально представлены в формате [GeoRSS](http://en.wikipedia.org/wiki/GeoRSS). YMapsML используется в качестве промежуточного формата, в который легко преобразуется GeoRSS-лента.

<!--<li>
  <p><b>Экспорт информации, размещённой на картах пользователей сервиса Мои Карты.</b></p>
  <p>Сервис <xref scope="external">Мои Карты<href>https://maps.yandex.<ph keyref="domain"/>/?um</href></xref> предоставляет  пользователям возможность создания и сохранения собственных карт — изображений участков местности с размещёнными на них метками.</p>
  <p>Информация о нанесённых на карту метках может быть экспортирована в виде YMapsML.<ph locale="ru"> Например, так выглядит маршрут от одного московского офиса Яндекса до другого: <xref format="html" scope="external" href="https://maps.yandex.ru/?um=3nXNKaog57QqpRlvteW0DJWI-CGmUzf6">https://maps.yandex.ru/?um=3nXNKaog57GQqpRlvteW0DJWI-CGmUzf6</xref>. Информация об этом маршруте может быть экспортирована в виде YMapsML-файла: <xref format="html" scope="external" href="https://maps.yandex.ru/export/usermaps/3nXNKaog57QqpRlvteW0DJWI-CGmUzf6">https://maps.yandex.ru/export/usermaps/3nXNKaog57QqpRlvteW0DJWI-CGmUzf6</xref>.</ph></p>
</li>-->

1. **Получение информации от сервиса геокодирования с помощью HTTP-запроса.**
    
    Сервис геокодирования позволяет определять координаты географического объекта и получать сведения о нём по его названию или адресу. И наоборот, можно определить адрес объекта на карте по его координатам — обратное геокодирование.
    
    Результат возвращается в формате YMapsML. Это позволяет сразу разместить найденные объекты на Яндекс.Картах. Кроме того, полученные данные легко проанализировать визуально или извлечь с помощью программных средств.
    
1. **Отображение географических данных, представленных в виде YMapsML, сторонними геоинформационными сервисами.**
    
    Поскольку YMapsML является стандартной прикладной схемой GML, данные в этом формате могут быть отображены и обработаны с помощью программных средств, поддерживающий GML третьей версии — таких, как [Mapserver](http://mapserver.org/), [OpenLayers](http://openlayers.org/).
    
1. **Использование YMapsML в качестве формата хранения географических данных.**
    
    YMapsML можно использовать в том случае, когда географические данные необходимо представить в удобном для использования и хранения виде. Географические данные часто хранятся в базах данных, либо во внутреннем представлении различных программ.
    
    При необходимости резервного копирования или передачи данных «внешним» программам возникает задача выбора формата представления информации. В этом случае YMapsML может быть хорошим решением. Данные в этом формате легко анализируются визуально, обрабатываются средствами API Яндекс.Карт и программными средствами, поддерживающими GML 3.x.
    

В качестве [примера](https://tech.yandex.ru/maps/jsbox/2.1/ymapsml_simpleobject) рассмотрим простой YMapsML-файл с названием intro.xml:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<ymaps:ymaps xmlns:ymaps="http://maps.yandex.ru/ymaps/1.x" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maps.yandex.ru/schemas/ymaps/1.x/ymaps.xsd">
    <ymaps:GeoObjectCollection>
        <gml:name>Мастер и Маргарита на Яндекс.Картах</gml:name>
        <gml:featureMembers>
            <ymaps:GeoObject>
                <gml:name>Патриаршие пруды</gml:name>
                <gml:description>Однажды весною, в час небывало жаркого заката, в Москве, на Патриарших прудах, появились два гражданина.</gml:description>
                <gml:Point>
                    <gml:pos>55.763969 37.592111 </gml:pos>
                </gml:Point>
            </ymaps:GeoObject>
        </gml:featureMembers>
    </ymaps:GeoObjectCollection>
</ymaps:ymaps>
```

В файле содержится информация о географическом объекте, с которого начинается действие романа М. А. Булгакова. Местоположение объекта обозначено на карте точкой с заданными географическими координатами.

Для отображения информации воспользуемся JavaScript API, содержащим встроенные средства отображения YMapsML-файлов.

Для этого создадим следующую HTML-страницу: 

```
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Примеры YMapsML. Отображение простого объекта на карте.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    
    
</head>
<body>
<div id="map" style="width:600px;height:400px"></div>
</body>
</html>
```

Для загрузки YMapsMl-файла используется метод `load`. После того, как данные загрузятся, метод `load` преобразует их в объект `GeoObjectCollection` и передает ссылку на этот объект функции-обработчику.

При просмотре в браузере данная страница будет выглядеть следующим образом:

[![](../_images/simpleObject.png)](https://tech.yandex.ru/maps/jsbox/2.1/ymapsml_simpleobject)
