---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/examples/cases/geoxml_display.md
  - https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/examples/cases/geoxml_display.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/jsapi-v2-1/doc/ru/llms.txt

# Отображение GPX и KML

<iframe id="LIVE-EXAMPLE" style="width:100%;height: 400px;border-radius: 8px;border: 1px solid rgba(92, 94, 102, 0.14);" frameBorder="0" src="https://yastatic.net/s3/front-maps-static/maps-front-jsapi-v2-1/examples/2/out/s3-cases/ru/geoxml_display/index.html" allow="fullscreen"></iframe>

<a target="_blank" rel="noopener noreferrer" style="display: inline-block;margin-top: 10px;cursor: pointer;border-radius: 4px;padding: 9px 12px;background: #151515;color: white;text-decoration: none;font-weight: 500" href="https://codesandbox.io/p/sandbox/hks4sl?file=index.html">Open in CodeSandbox</a>

<div id="references">
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ready">ready</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map">Map</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.ZoomControl">control.ZoomControl</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/map.GeoObjects">map.GeoObjects</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geoXml.load">geoXml.load</a>
</div>
<p>
    При нажатии на кнопки "Показать пример GPX" и "Показать пример KML" будет отображаться XML, экспортированный из <a href="https://yandex.ru/map-constructor/">Конструктора Карт</a>. Как отобразить XML из другого источника можно посмотреть по клику на кнопку "KML с сайта openflights.org".
</p>
<p>
    API Яндекс.Карт позволяет <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/dg/concepts/geoxml">загружать XML-файлы
    с географическими данными</a> в форматах KML и GPX.
</p>
<p>
    Для загрузки данных используется функция <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geoXml.load">geoXml.load</a>.
</p>

{% list tabs %}

-   index.html

    ```html
    <!DOCTYPE html>

    <html>
        <head>
            <title>Отображение GPX и KML</title>
            <meta
                http-equiv="Content-Type"
                content="text/html; charset=utf-8"
            />
            <!--
            Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
            Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
        -->
            
            
            
            
        </head>

        <body>
            <div id="map"></div>
            <div class="inputs">
                <input
                    type="button"
                    value="Показать пример GPX"
                    class="load-gpx"
                />
                <input
                    type="button"
                    value="Показать пример KML"
                    class="load-kml"
                />
                <input
                    type="button"
                    value="KML с сайта openflights.org"
                    class="load-kml-flights"
                />
            </div>
        </body>
    </html>
    ```

-   geoxml_display.js

    ```js
    ymaps.ready(init);

    function init() {
        var myMap = new ymaps.Map("map", {
                center: [59.994675, 29.702651], // Москва
                zoom: 10,
                controls: ["zoomControl"],
            }),
            gpxButton = $(".load-gpx"),
            kmlButton = $(".load-kml"),
            kmlFlightsButton = $(".load-kml-flights");

        // Отключение кеширования атрибута disabled в Firefox.
        gpxButton.get(0).disabled = false;
        kmlButton.get(0).disabled = false;
        kmlFlightsButton.get(0).disabled = false;

        // При нажатии на кнопку загружаем соответствующий XML-файл
        // и отображаем его данные на карте.
        gpxButton.click(function (e) {
            ymaps.geoXml.load("geoObjects.gpx").then(onGeoXmlLoad);
            e.target.disabled = true;
        });
        kmlButton.click(function (e) {
            ymaps.geoXml.load("geoObjects.kml").then(onGeoXmlLoad);
            e.target.disabled = true;
        });
        kmlFlightsButton.click(function (e) {
            ymaps.geoXml
                .load("http://openflights.org/demo/openflights-sample.kml")
                .then(function (res) {
                    res.geoObjects.each(function (obj) {
                        obj.options.set({ preset: "islands#blackCircleIcon" });
                        if (!obj.geometry) {
                            obj.each(function (obj) {
                                obj.options.set({ strokeColor: "9090e8" });
                            });
                        }
                    });
                    onGeoXmlLoad(res);
                });
            e.target.disabled = true;
        });

        // Обработчик загрузки XML-файлов.
        function onGeoXmlLoad(res) {
            myMap.geoObjects.add(res.geoObjects);
            if (res.mapState) {
                res.mapState.applyToMap(myMap);
            } else {
                myMap.setBounds(res.geoObjects.getBounds());
            }
        }
    }
    ```

{% endlist %}
