Клуб API Карт

Как получить данные о точках после загрузки YmapsML файла?

FlamesoFF7
7 октября 2014, 14:44

После подгрузки YmapsML файла я могу его вывести на карту так:

ymaps.geoXml.load( url ).then(function (res) {
    //Добавляем коллекцию геообъектов на карту
this.map.geoObjects.add(res.geoObjects);
}.bind(this));

 Все выводится. Как мне получить данные о точках? Адрес, координаты, описание и т.п.?

Пробовал выводить так: 

console.log(res.geoObjects);

Выводит всякую ерунду, в которой черт ногу сломит:

a {geometry: null, properties: o, state: o, options: Object, events: s…}_$w: s_Hb: Object_Yb: null_jK: a_oK: Array[2]_qK: Array[2]_sK: Object_tK: Object__proto__: s_Iw: s_Hb: Object_Py: o_Vf: o_Wf: m_fK: i_kb: a_nx: s_rf: Object_ve: null__proto__: Object_ax: i_Ef: a_Hb: Object_Ow: t_Tb: t_vI: undefined_xI: i__proto__: ievents: sgeometry: nulloptions: Objectproperties: ostate: o__proto__: a

Как мне получить какой-нибудь массив или коллекцию с параметрами точек?

Например:

{
  address: "Москва, ул. Ленинградская"
  coordinates: [12.345, 67.890]
  description: "Улица" 
}

Как этого добиться?

 

 

3 комментария
Подписаться на комментарии к посту
res.geoObjects.forEach(function (obj) {
    console.log(obj.geometry.getCoordinates());
    console.log(obj.properties.getAll());
});

Спасибо!

Хинт:

Метод then принимает контекст последним параметром и bind можно убрать

ymaps.geoXml.load( url ).then(function (res) {
    //Добавляем коллекцию геообъектов на карту
this.map.geoObjects.add(res.geoObjects);
}, this);