Клуб API Карт

Как правильно удалить Polyline ???

find-realty
18 марта 2010, 18:44

не пойму принципа, удаляет не все вершины... помогите правильным примером, как удалить ломанную линию полностью.

В документации написано: removePoint(index)

Делаю банальный пример:

    for(var i=0; i<lineObj.getNumPoints(); i++)
    {
        lineObj.removePoint(i);
    }

И что-то криво удаляет..... через одну. Или может это я что-то не так понял???

2 комментария
Подписаться на комментарии к посту
Чтобы удалить ломаную с карты, нужно вызвать map.removeOverlay(lineObj);

Чтобы удалить все точки из линии, можно вызвать
lineObj.setPoints([]);
либо
lineObj.splicePoints(0, lineObj.getNumPoints());
либо
while (lineObj.getNumPoints()) {
  lineObj.removePoint(0);
}

А Ваш пример не работает, потому что после удаления i-ой точки массив сдвигается и место i-ой точки занимает i+1-ая. Соответственно, Вы удаляете точки через одну.
Да, спасибо!