Ломаная линия Google Maps - как ее удалить?

Итак, я проверил предыдущие вопросы по этому поводу, которые все относятся к V2, что бесполезно.

Итак, Но. В следующий раз, когда я использую его (с новыми маркерами в массиве), он просто добавляет туда ломаную линию, не удаляя предыдущую. Кажется, я перепробовал все, удалив из первого массива flightPath, setMap (null) и т. Д.

Как правильно удалить предыдущую строку перед рисованием новой?

РЕДАКТИРОВАТЬ: РЕШЕНО Решение

function route(){
    var flightPlanCoordinates = [];
    for(var key in markers) {
        flightPlanCoordinates.push(markers[key].position);
    }
    if(flightPath) {
        flightPath.setPath(flightPlanCoordinates);
    } else {
        flightPath = new google.maps.Polyline({
            path: flightPlanCoordinates,
            strokeColor: "#FF0000",
            strokeOpacity: 1.0,
            strokeWeight: 2
        });
        flightPath.setMap(map);
    }
}

Причина: FlightPlanCoordinates необходимо инициализировать в области видимости, это сбрасывает массив каждый раз, когда он используется, и очищает его должным образом. (Также спасибо за введенные ниже данные, чтобы сделать код немного лучше.

9
задан Mantar 30 December 2010 в 21:25
поделиться