Пустой массив при сохранении в 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); } |
Это просто проверка. В коде вторая строка закоментирована. Проблема в том, что ответ от Google Api уже в Json. Как это решить?
|
Часовой пояс GMT +3, время: 11:52. |