Клуб API Карт

Коллекции объектов

vasil.y2013
23 октября 2012, 10:38

Никак не могу разобраться. Можно ли менять iconContent и balloonContent у объектов в коллекции?

Если нельзя, то как удалять все созданные объекты на карте? Кроме тех, которые уже были изначально. Т.е. я ввел адрес, на карте появились точки. Ввел другой адрес - появились другие, а старые пропали. Делал через myCollection.removeAll();, но не могу задать текст иконки

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

Сразу еще вопрос.

Есть на карте многоугольники. Если точка появилась в многоугольнике, то в балуне должно быть описание этого многоугольника. Как это сделать?

 

Никак не могу разобраться. Можно ли менять iconContent и balloonContent у объектов в коллекции?

Можно перебирать все элементы в коллекции и устанавливать им эти св-ва

 

 

как удалять все созданные объекты на карте? Кроме тех, которые уже были изначально. Т.е. я ввел адрес, на карте появились точки. Ввел другой адрес - появились другие, а старые пропали. Делал через myCollection.removeAll();, но не могу задать текст иконки

Опять таки вам нужно добавить на карту коллекцию и в нее добавлять/удалять элементы

 

Можно перебирать все элементы в коллекции и устанавливать им эти св-ва

 

 Нельзя ли пример?

myCollection.each(function (geoObject) {

    geoObject.properties.set({

        iconContent: 'bbbb',

        balloonContent: 'aaaaaa'

    });

    geoObject.options.set('preset', 'twirl#blueStretchyIcon');

});

а второй вопрос? про многоугольники

В документации же есть пример

 

 

// Создаем коллекцию геообъектов.

var myCollection = new ymaps.GeoObjectCollection();

// Добавляем метки в коллекцию.
myCollection.add(new ymaps.Placemark([37.61, 55.75]));
myCollection.add(new ymaps.Placemark([13.38, 52.51]));
myCollection.add(new ymaps.Placemark([30.30, 50.27]));
// Добавляем коллекцию на карту.
myMap.geoObjects.add(myCollection);

 

надо сделать как здесь http://api.yandex.ru/maps/solutions/?p=shop во 2м пункте

АПИ Яндекс.Карт рассчитан на разработчиков, знакомых с JavaScript

Если нужных знаний нет попробуйте воспользоваться конструктором 

Я знаком с js, просто чтобы разобраться в вашей документации нужен как минимум ящик водки.

Хотя бы скажите, как мне получить объект многоугольник, на котором появилась точка

что значит

на котором появилась точка

?

Ошибся, извините, метка. Я ввожу адрес, появляется placemark (метка). Нужно определить, в каком многоугольнике она появилась.

используйте метод contains у геометрии полигона

myPolygon.geometry.contains(myPlacemark.geometry.getCoordinates());

У меня многоугольники загружаются из kml файла. При попытке применить метод contains возникает ошибка: Uncaught TypeError: Object [object Object] has no method 'contains'

дайте ссылку на страницу с этой ошибкой

 

используйте метод contains у геометрии полигона

myPolygon.geometry.contains(myPlacemark.geometry.getCoordinates());

а ты пытешься вызвать его у полигона

poly.contains -> poly.geometry.contains

Спасибо. Теперь разобрался