Sprawdziłem więc poprzednie pytania dotyczące tego, które odnoszą się do V2, co nie jest pomocne.Google Maps Polyline - Jak mogę ją usunąć?
Więc tworzę dwa markery, zapisać je w tablicy jako markery [ "do"] i markerów [ "z"]
a następnie dodać je z tym
function route(){
for(var key in markers) {
flightPlanCoordinates.push(markers[key].position);
}
flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
}
Brilliant. Ale. Następnym razem, gdy go użyję (z nowymi markerami w tablicy), dodaje polilinię bez usuwania poprzedniej. Wydaje się, że próbowałem wszystkiego, usuwając z pierwszej tablicy, flightPath, setMap (null) i tak dalej.
Jaki jest poprawny sposób usunięcia poprzedniego wiersza przed rysowaniem nowego?
Edycja: ROZWIĄZANIA Rozwiązanie
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);
}
}
Uzasadnienie: flightPlanCoordinates musi być zainicjowany w zakresie, to zeruje się tablicę każdym razem, gdy jest używany do czyszczenia go prawidłowo. (Również dzięki za poniżej wejścia do kodu nieco ładniejszy.
można udostępnić link robocza tego projektu? Robię coś podobnego dla lokalnych linii lotniczych. – andufo