Implemento lo siguiente:
localStorage.rutas = localStorage.rutas || [] ;
var misrutas = [];
//buscamos datos guardados
function loaddatosLocalStorage(){
if (localStorage.rutas != []){
var enBaseDatos = localStorage.getItem('rutas');
misrutas = JSON.parse(enBaseDatos);
}
}
//limpiamos memoria
function borrarTodasMisRutas(){
localStorage.rutas = [];
misrutas = [];
lat = 20.2065331;
lng = -87.6048038;
//ponemos una ubicacion inicial
guardarPosicion(lat, lng);
}
//guardar posicion actual
function guardarPosicion(lat, lng){
var nuevaPos= {};
nuevaPos.lat = lat; // guarda coords en lat y lng de nuevaPos
nuevaPos.lng = lng;
misrutas.push(nuevaPos);//nuevo punto.
}
function guardarTodasMisRutas(){
if (misrutas != []){
localStorage.setItem('rutas', JSON.stringify(misrutas));
}
}
// Graba todas las posiciones fijadas en localStorage antes de salir
window.onbeforeunload = function() {
//localStorage.rutas= JSON.stringify(misrutas);
guardarTodasMisRutas();
};