Пустой массив при сохранении в localStorage
Добрый день.
Помоги, пожалуйста.
Возникла такая проблема.
Есть некоторая функция, которая сохраняет ответ от Google Api с содержанием маршрута в массив. Каждый ответ - это массив. Таким образом получается многомерный массив.
Далее идет попытка записи в localStorage.
console.log(leng); - выводит заполненный многомерный массив
console.log(JSON.parse(JSON.stringify(leng))); - массив уже пустой
исходный код ниже.
Как это исправить?
function setDirectionByAllPoints(){
var l=0;
l=arrLat.length;
var leng=new Array(); //массив отрезков одного пути
kolroutes=Number(localStorage.kolroutes);
alert(l);
for (i=1;i<l;i++)
{
(function() {
var directionsDisplay = new google.maps.DirectionsRenderer();
var directionsService = new google.maps.DirectionsService();
directionsDisplay.setMap(map);
directionsDisplay.setOptions( { suppressMarkers: true, suppressInfoWindows: true } );
directionsDisplay = new google.maps.DirectionsRenderer();
var request = {
origin: new google.maps.LatLng(arrLat[i-1],arrLng[i-1]), //точка старта
destination: new google.maps.LatLng(arrLat[i],arrLng[i]), //точка финиша
unitSystem: google.maps.UnitSystem.METRIC,
travelMode: google.maps.DirectionsTravelMode.WALKING //режим прокладки маршрута
};
directionsService.route(request,
(function(i) {
return function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
leng[i-1]=response; //stringify
directionsDisplay.setDirections(response);
}
}
})(i)
);
directionsDisplay.setMap(map);
})(i)
}
clearOverlays();
//console.log(JSON.parse(JSON.stringify(leng)));//"отрезки: "
console.log(leng);
console.log(typeof(leng));
localStorage.setItem(kolroutes,JSON.stringify(leng ));
kolroutes=kolroutes+1;
arrLat=new Array();
arrLng=new Array();
localStorage.setItem("kolroutes",kolroutes);
}
|