Size: a a a

2020 December 08

А

Алексей in JS
Марк Гольберг
А чем тебе не нравится сохранять одним json?
Простите, я забыл добавить, что сохранить хочу в localStorage
источник

M

Murat in JS
Алексей
Ребят, кто знает, как правильно сохранить несколько меток Яндекс карты в localStorage? Сохранять в одном свойстве не верно, а как сделать по другому не знаю. Напоминаю, что метка состоит из 2-х координат
Массив с объектами
источник

АБ

Александр Берля... in JS
Ну так и сохраняй массив строкой
источник

А

Алексей in JS
Murat
Массив с объектами
Получаются только объекты в одном имени localStorage

<script type="text/javascript">
       ymaps.ready(init);
       var obj = {};
       var newArr = [];
       var fromLocal = [];
       var local = localStorage;
       function init(){
           var myMap = new ymaps.Map("map", {
               center: [47.02622149, 28.82842524],
               zoom: 15
           });

           myMap.events.add('click', function (e) {
   
   var [x,y] = e.get('coords');
   var myPlacemark = new ymaps.Placemark([x, y]);
    myMap.geoObjects.add(myPlacemark);
    var arr = myPlacemark.geometry.getCoordinates();
   
arr.forEach(function(prop,index) {
 obj[index] = prop;
});
   JSON.stringify(obj);
   newArr.push(JSON.stringify(obj));
   local['markers'] = newArr;


console.log(local['markers']);
   // if(local['markers']){
   //     fromLocal = local['markers'];
     
     
   //         console.log(arr);
         
       
   // }
   
});

       }
   </script>
источник

А

Алексей in JS
источник

А

Алексей in JS
Их невозможно перебрать
источник

АБ

Александр Берля... in JS
А что тебе мешает массив то застрингифаить и положить в стораж?
источник

АБ

Александр Берля... in JS
Потом Достаешь и парсишь
источник

МГ

Марк Гольберг... in JS
Либо перебрать объект с помощью for in, либо Object.keys(yourObj).forEach/map/reduce...
источник

МГ

Марк Гольберг... in JS
Но проще стрингифаить и парсить
источник

А

Алексей in JS
Марк Гольберг
Либо перебрать объект с помощью for in, либо Object.keys(yourObj).forEach/map/reduce...
не получается перебрать.  в localStorage почему то расположены объекты через запятую, а не массив
источник

АБ

Александр Берля... in JS
Алексей
не получается перебрать.  в localStorage почему то расположены объекты через запятую, а не массив
Вот так нельзя сделать?
источник

МГ

Марк Гольберг... in JS
Алексей
не получается перебрать.  в localStorage почему то расположены объекты через запятую, а не массив
Ибо ты не массив сделал видимо
источник

МГ

Марк Гольберг... in JS
Либо оно работает немного странно. В любом случае стрингифай всегда данные когда куда то кладёшь их, либо отправляешь на сервер, тогда проблем не будет
источник

А

Алексей in JS
Александр Берля
Вот так нельзя сделать?
когда я пытаюсь распарсить, у меня возникает ошибка при попытке поставить вторую метку:
resultAll = JSON.parse(result);

Uncaught SyntaxError: Unexpected token , in JSON at position 46
   at JSON.parse (<anonymous>)
источник

А

Алексей in JS
Код:

<script type="text/javascript">
       ymaps.ready(init);
       var obj = {};
       var arr =[];
       var newArr = [];
       var result = [];
       var local = localStorage;
       function init(){
           var myMap = new ymaps.Map("map", {
               center: [47.02622149, 28.82842524],
               zoom: 15
           });

           myMap.events.add('click', function (e) {
   
   var [x,y] = e.get('coords');
   var myPlacemark = new ymaps.Placemark([x, y]);
    myMap.geoObjects.add(myPlacemark);
    arr = myPlacemark.geometry.getCoordinates();
 
arr.forEach(function(prop,index) {
 obj[index] = prop;
});

   
   newArr.push(JSON.stringify(obj));
   local['markers'] = newArr;

   result = local['markers'];
   resultAll = JSON.parse(result);

   console.log(resultAll);

   
});

       }
   </script>
источник

МГ

Марк Гольберг... in JS
Что-то не правильно записал видимо, продебажь
источник

МГ

Марк Гольберг... in JS
Посмотри, что у тебя в строке написано до парса, там видимо какая-то фигня
источник

АБ

Александр Берля... in JS
эт че?
JSON.stringify(obj);
   newArr.push(JSON.stringify(obj));
   local['markers'] = newArr;
источник

МГ

Марк Гольберг... in JS
Александр Берля
эт че?
JSON.stringify(obj);
   newArr.push(JSON.stringify(obj));
   local['markers'] = newArr;
Кстати да, занеси это в переменную, либо убери первую строку
источник