Клуб API Карт

(API 2.0) как узнать все возможные свойства у найденных геообъектов?

AntiMandron
27 мая 2014, 14:10
1) как по ним пробежаться, чтобы знать к чему обращаться...

ymaps.ready(init); function init(){ coords = [55.701550700000, 37.633237800000]; myMap = new ymaps.Map('map', {center: coords, zoom: 10}); myBalloon = new ymaps.Placemark([55.701550700000, 37.633237800000], {balloonContentBody: ""}, {draggable: 0,preset: "twirl#greenStretchyIcon"}); myMap.geoObjects.add(myBalloon); ymaps.geocode(coords, {kind: 'metro'}).then(function (res) { res.geoObjects.options.set('preset', 'twirl#metroMoscowIcon'); myMap.geoObjects.add(res.geoObjects); res.geoObjects.each(function (obj) {
// тут есть name, а какие есть еще, как их посмотреть
alert(obj.properties.get('name'));
// так не работает
alert(obj.propertyes.getAll());
// так не работает
obj.properties.each(function (val) {
alert(val);
});

}); }); }


2) по идее мне вообще надо постоянные id найденных метро или подобное свойство...
11 комментариев
Подписаться на комментарии к посту
alert(obj.propertyes.getAll()); - опечатка, propertYes

да он и выводит [object Object]

хотя посмотрел так

var s = "";
for (prop in obj1) {
//   if (typeof obj1[prop] != "function") {
       s += "obj1[" + prop + "] = " + obj1[prop] + "; ";
//   }
}

 

я так понял, что у получаемых объектов нет никакого уникального поля с id :(

[boundedBy] вроде уникальное...

 

я так понял, что у получаемых объектов нет никакого уникального поля с id :(

Добавьте свое уникальное поле id, что мешает?

Не подскажите, куда именно это поле вписать можно?

Что угодно.

Ваш уникальный идентификатор, например:

'id_' + (+new Date)

А куда эту айдишку вписать можно, чтобы API его воспринял нормально.

Самому это нужно - найти (или прилепить) айдишку объекта, но пока ничего такого в мануале не нашёл. Точнее, нашёл в YMaps.IGeoObject, но в API 1.x, в API 2.1 ничего подобного уже нет.

в properties. АПИ все равно что вы туда впишете. это ваши пользовательские данные

obj.properties.set('id', '_ваш_id_');

Большое спасибо :)

заменить alert на console.log