Клуб API Карт

Вывод gpx трека на карту

Пост в архиве.

Добрый день. Решения данного вопроса в нескольких вариантах нашла. Однако хотелось бы обойтись без конвертации в *.xml. 

Вместе с линией на экране отображаются и метки с балуном, которые мне не нужны. Покопалась в документации - пока не нашла решения. 

  

 

function init () {

           var myMap = new ymaps.Map("map", {

            center: [52.646573, 39.519488],

            zoom: 8

        }),

        startEditing = false,

        button = $('#editor');

 

        button.click(function () {

            if (startEditing = !startEditing) {

                

      ymaps.geoXml.load('http://www.topografix.com/fells_loop.gpx')

                .then(function (res) {

      res.geoObjects.options.set({

          balloonContentBodyLayout: ymaps.templateLayoutFactory.createClass(

            '$[properties.velocity]'

         )

                });

 

          myMap.geoObjects.add(res.geoObjects);

 

        myMap.setBounds(res.geoObjects.properties.get('boundedBy'), {

           checkZoomRange: true

         });

 

      });

             

      button.val('Марширут нанесен на катру');

               

            } 

        });

             

                myMap.controls.add('zoomControl');

                myMap.controls.add('typeSelector');

                             

        }

 

4 комментария

myMap.geoObjects.add(res.geoObjects);

Вы добавляете все что там есть на карту, а можно покопаться в пришедшей коллекции и достать из нее что нужно(линии?)

Я понимаю как это сделать если я в самом коде создавала линию, но как вытащить в данном случае? 

В документации пока не нашла ответа. Эксперементы тоже не удались.

ymaps.geoXml.load вернет вам коллекцию

перебирайте ее элементы, проверяя какие из них не являются метками, и только их и добавляйте на карту

В gpx файлах хранятся:

1) точки
2) маршруты
3) треки

С точками думаю ясно, маршруты это промежуточные точки от пункта А к пункту Б, промежутки между которыми можно по прямой соединить или смаршрутизировать устройством, а треки это записанный путь движения.

В приведеном вами файле есть точки как точки и точки как промежуточные точки маршрута. К сожалению они еще и имена имеют одинаковые, посему далеко не весь софт их обработает верно. Если открыть данный файл любым текстовым редактором типа notepad, то конечно убрать простые точки можно легко, но в любом случае останутся точки маршрута, и они будут отображаться, по-хорошему вам проще сконвертировать маршурт в трек, тогда точки отображаться перестанут, в треке точки не имеют символьных обозначений.... Иными словами, в приведенном вами gpx файле заложен маршрут, который отображается промежуточными точками, если его сконвертировать в трек, то трековые координаты не отображаются на карте точками... во всяком случае это из моей практики работы с gpx.