Клуб API Карт

Отображение GPX в API 2.1

igdev
13 апреля 2014, 22:04

Добрый вечер!

Попробовал как в 2.1 с gpx работать, вреде все ясно, балуны и треки отображаются, иконки и цвета меняются, но при клике на трек или балун никакой информации не выскакивает. Нет ли примера рабочего?

Спасибо.

6 комментариев
Подписаться на комментарии к посту

По умолчанию макеты балунов и хинтов (всплывающие подсказки на метках) не открываются, если у них пустое содержимое.

Они изначально ищут у геообъектов поля данных hintContent и balloonContent, которые видимо не заданы.

Попробуйте при загрузке трека задать полученной коллекции другой макет балуна, например

ymaps.geoXml.load('....').then(function (res) {

    res.geoObjects.options.set('balloonContentLayout', ymaps.templateLayoutFactory.createClass('{{properties.name}}'));

 map.geoObjects.add(res.geoObjects);

});

 

Еще на время тестирования можно включить показ пустых балунов и хинтов, чтобы убедиться, что проблема только в отсутствии контента.

res.geoObjects.set({

    openEmptyBalloon: true,

    openEmptyHint: true

});

 

Ну да, после добавки второго кода увидел, что метки пустые, после добавки первого кода появились имена....

Что-то не совсем понятно куда двигаться. Понимаете, в GPX есть данные точек и треков, при просмотре точек в API 2.0 открывались балуны с name+description, при щелчке на определенном месте трека выскакивал балун с текущей скоростью, временем, датой и названием трека. Т.е. что отображать в балуне выбирал api контекстно в зависимости от того точка эта или трек, теперь как я понимаю мне надо указать это явно, не беда, но тогда как в 2.1 добраться до скорости? я не смог найти. В 2.0 было что-то типа properties.velocity, тут не работает... или делаю не так.

ну вы посмотрите где в данных лежит скорость

можно и при получении сделать на треке console.log(properties.getAll())

Глянул... name и description нашел, скорости, даты, времени нет((( Скорости нет и в самом файле gpx вообще-то, API ее высчитывал сам. А время должно быть... но его нет.

они скорее всего зарыты в properties.metaDataProperty

А, я поняла. К своему стыду, не была в курсе, что в 2.0 все заводилось автоматически. В 2.1 значит просто слетели какие-то настройки, починим к 2.1.8.