Клуб API Карт

Геометрия полигона из "Моих карт"

Awarskiy
19 июня 2014, 17:13

Всем здравтсвуйте. Я нарисовал карту в "Моих картах". По инструкции добавил геообъекты на свою карту. 

Но почему то никак не получается работать с полем geometry этих объектов. В чем может быть дело?  

ymaps.geoXml.load("http://maps.yandex.ru/export/usermaps/g-O_zgKA5b9lkVQP9L_tS5YVKtOuDHka/") // Загрузил по ссылке.
        .then(function (res) {
            Routes.add(res.geoObjects); // Добавил объекты с карты в коллекцию, чтоб в дальнейшем с ними работать.
            myMap.geoObjects.add(Routes); //Добавил их на карту.
        });
//Пытаюсь задать вот такую команду.
alert(Routes.get(0).geometry.getCoordinates());
//Но никакого результата. Окно вообще не всплывает... В чем может быть проблема?  
8 комментариев
Подписаться на комментарии к посту

Что такое "Routes" ?

Где он в вашем коде создается?

 

Перед фукцией init. var Routes;

А, нет. Вот так делал. 

 

var Routes = new ymaps.GeoObjectCollection({}, {

        visible: false

    });

ymaps.geoXml.load("http://maps.yandex.ru/export/usermaps/g-O_zgKA5b9lkVQP9L_tS5YVKtOuDHka/") // Загрузил по ссылке.        .then(function (res) {            Routes.add(res.geoObjects); // Добавил объекты с карты в коллекцию, чтоб в дальнейшем с ними работать.            myMap.geoObjects.add(Routes); //Добавил их на карту.        });

Надо смотреть в консоль браузера

думаю проблема в том что в момент вашего alert в Routes ничего нет

Думал так. Но вот такая запись выдает правильный результат.

alert(Routes.get(0).properties.get('name'));

И вот такая команда тоже работает. 

Routes.get(0).options.set('visible', true);

 

А вот с полем geometry никаких результатов. 

 

дайте ссылку я посмотрю

там у вас приходит вложенная коллекция

нужно еще раз брать индекс

console.log(Routes.get(0).get(0).geometry.getCoordinates());

Отлично брат!! Я об этом думал. Но почему то не попробовал. Из за того, что такая комадна работала.

alert(Routes.get(0).properties.get('name'));

Отлично. СПС. Работает.