Суть такова. У меня через каждые 10 секунд выполняется ajax-запрос, который вытаскивает из БД координату текущего местоположения объекта. Все координаты, которые я вытаскиваю я храню в
myCollection типа
GeoObjectCollection. Вот часть кода:
myPlacemark = new ymaps.Placemark([data.lat, data.lon], {
content: counter,
hintContent: 'Собственный значок метки'
}, {
iconLayout: 'default#image', // тип макета
//iconImageHref: 'http://api.yandex.ru/maps/doc/jsapi/2.x/examples/images/myIcon.gif',
//iconImageSize: [30, 42], // размеры метки
//iconImageOffset: [-3, -42]
});
myCollection.add(myPlacemark);
myMap.geoObjects.add(myCollection);
Ну и мне захотелось, чтобы стандартный маркер был только у текущего положения объекта, т.е. когда у извлекаю координаты новой точки и отображаю ее на карте, все предыдущие метки должны менять свои иконки. Какой я сейчас вижу выход: перед отображением предыдущей точки очищать
myCollection и отрисовывать их заново, но уже с другими иконками, а потом снова менять url иконки для текущей позиции. Если есть более грамотной способ это реализовать - умоляю им поделиться.
Минус очистки всего
myCollection в том, что придется заводить какой-нибудь запасной массив с координатами, чтобы потом по нему восстановить новую коллекцию.