Así que revisé las preguntas anteriores con respecto a esto, que se relacionan con V2, lo cual no es de ayuda.Google Maps Polyline - ¿Cómo lo elimino?
Por lo tanto, crear dos marcadores, guardarlos en una matriz como marcadores [ "a"] y los marcadores [ "desde"]
y luego añadir con este
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);
}
brillante. Pero. La próxima vez que lo use (con nuevos marcadores en la matriz) simplemente agrega una polilínea allí sin quitar la anterior. Parece que lo he intentado todo, eliminando de la primera matriz, el flightPath, setMap (nulo) y así sucesivamente.
¿Cuál es la forma correcta de eliminar la línea anterior antes de dibujar una nueva?
EDIT: SOLUCIONADO Solución
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);
}
}
Motivo: flightPlanCoordinates necesita ser inicializado dentro del alcance, esto restablece la matriz cada vez que se utiliza, limpiarlo correctamente. (También gracias a la entrada de abajo para hacer el código un poco más agradable.
puede compartir un enlace de trabajo de este proyecto? Estoy haciendo algo similar para una aerolínea local. – andufo