Обзор YMapsML
YMapsML представляет собой XML-язык, предназначенный для описания и отображения различных географических объектов в сервисе Яндекс.Карты.
Для получения сведений о работе с YMapsML средствами JavaScript API Яндекс.Карт см. Отображение объектов из KML, GPX и YMapsML. YMapsML также используется в ответе HTTP-геокодера, см. Ответ геокодера.
YMapsML основан на стандарте XML и является расширением стандарта GML.
Корневым элементом YMapsML-документа является ymaps:ymaps. В атрибутах этого элемента описываются пространства имен XML и используемые XSD-схемы.
Элемент ymaps:ymaps, в свою очередь, может содержать в себе несколько тегов, служащих контейнерами для различных данных или групп данных, отображаемых на карте.
attr:Attribution
- Является контейнером для тега attr:Source.
attr:Source
- Содержит информацию о поставщике сведений, представленных в YMapsML-документе.
repr:Representation
-
Является контейнером для тегов repr:View, repr:Style и repr:Template.
repr:View
- Предназначен для задания начального состояния карты. С его помощью можно задать центр карты, ее тип и начальный масштаб. Элемент repr:View может присутствовать в YMapsML-документе не более одного раза.
repr:Style
- Описывает стили отображаемых на карте объектов. С помощью стилей, в частности, можно описать то, как будут выглядеть на карте метки, линии и другие объекты. Элементы repr:Style могут присутствовать в YMapsML-документе в любом количестве.
repr:Template
- Предназначен для описания шаблонов, на основе которых строится HTML-верстка различных объектов карты. Элементы repr:Template могут присутствовать в YMapsML-документе в любом количестве.
ymaps:GeoObjectCollection
- Является контейнером, содержащим в себе описания объектов, помещаемых на карту. С помощью данного элемента можно задавать общие для набора географических объектов свойства, например, стили. Элемент ymaps:GeoObjectCollection может содержать вложенные элементы ymaps:GeoObjectCollection, но в элементе ymaps:ymaps может присутствовать не более одного раза.
В общем виде, YMapsML-документ выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<ymaps:ymaps xmlns:ymaps="https://maps.yandex.ru/ymaps/1.x"
xmlns:gml="http://www.opengis.net/gml"
xmlns:repr="https://maps.yandex.ru/representation/1.x"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://maps.yandex.ru/schemas/ymaps/1.x/ymaps.xsd">
<repr:Representation>
<repr:View>
<repr:mapType>HYBRID</repr:mapType>
<gml:boundedBy>
<gml:Envelope>
<gml:lowerCorner>37.63 45.75</gml:lowerCorner>
<gml:upperCorner>47.63 55.75</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
</repr:View>
<repr:Style gml:id="customStyle">
<repr:parentStyle>default#greenPoint</repr:parentStyle>
<repr:iconStyle>
<repr:href>https://info.maps.yandex.net/api/i/steelblue/dot.png</repr:href>
<repr:size x="26" y="46"/>
<repr:offset x="-22" y="-46"/>
<repr:shadow>
<repr:href>https://info.maps.yandex.net/api/i/dot_shadow.png</repr:href>
<repr:size x="25" y="23"/>
<repr:offset x="0" y="-25"/>
</repr:shadow>
</repr:iconStyle>
<repr:lineStyle>
<repr:strokeColor>12345678</repr:strokeColor>
<repr:strokeWidth>5</repr:strokeWidth>
</repr:lineStyle>
<repr:balloonContentStyle>
<repr:template>#customTemplate</repr:template>
</repr:balloonContentStyle>
</repr:Style>
<repr:Template gml:id="customTemplate">
<repr:text><![CDATA[<div style="color:green">$[description]</div>]]></repr:text>
</repr:Template>
</repr:Representation>
<Attribution>
<Source id="novosib">
<author>
<name>Поисковая система по товарам и услугам БИС 077</name>
<uri>http://www.bis077.ru</uri>
</author>
</Source>
</Attribution>
<ymaps:GeoObjectCollection>
<ymaps:style>#customStyle</ymaps:style>
<gml:featureMembers>
<ymaps:GeoObject>
<gml:description>Описание</gml:description>
<gml:Point>
<gml:pos>37.63 55.75</gml:pos>
</gml:Point>
</ymaps:GeoObject>
<ymaps:GeoObject>
<gml:LineString>
<gml:pos>70 55</gml:pos>
<gml:pos>80 70</gml:pos>
<gml:pos>120 30</gml:pos>
</gml:LineString>
</ymaps:GeoObject>
</gml:featureMembers>
</ymaps:GeoObjectCollection>
</ymaps:ymaps>