Код ниже
//массив меток
var arrPoints = [];
//добавляю метку
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(координата №1, координата №2));
placemark.name = ИМЯ;
placemark.description = ОПИСАНИЕ;
map.addOverlay(placemark);
arrPoints.push(placemark);
//удаляю метку
var placemark = arrPoints[индекс метки в массиве];
map.removeOverlay(placemark);
arrPoints=arrPoints.removeByValue(placemark);
//поправка к классу Array
Array.prototype.removeByValue = function(item){
var itemIndex = -1;
for (var index = 0; index < this.length; index++)
{
if (this[index] == item){
itemIndex=index;
}
}
if (itemIndex == -1){
return this;
}
var resultLeft = this.slice(0, itemIndex);
var resultRight = this.slice(itemIndex+1, this.length);
var resultTotal = resultLeft.concat(resultRight);
return resultTotal;
};
Проблема в том, что всё работает ОК, если в массиве 1 запись! Если несколько - то весь код работает, кроме той части где удаляется метка с карты...
Подскажите: в чём может быть ошибка?