如何在谷歌地图中使用本地存储数据?

时间:2016-06-10 16:57:53

标签: javascript html5 google-maps

我有一个谷歌地图,工作正常。

我填充地图的标记/位置,如下所示:

var locations = [
['Test 1', 'somewhere', 'map-marker-icon.png']
             , 

             ['Test 2', 'London', 'map-marker-icon.png']
             , 

             ['Test 3', 'essex', 'map-marker-icon.png']
             , 


];

现在,如果我像上面的HTML文件中的所有位置一样运行我的代码,我的代码工作正常,所有标记都显示在我的地图上。

但是,我也有完全相同的位置存储在localstorage中,我可以在Firestorage / Firbug中看到它们。

本地存储看起来像这样:

['Test 1', 'somewhere', 'map-marker-icon.png']
             , 

             ['Test 2', 'London', 'map-marker-icon.png']
             , 

             ['Test 3', 'essex', 'map-marker-icon.png']
             , 

所以我尝试使用localstorage来创建Map&#39的标记:

var nowMarker = localStorage.getItem('mapMarkers');
var locations = [
nowMarker
];

但这根本不起作用,我的意思是我在地图上没有任何标记!

这是否可能,如果是这样,最好的方法是什么?

任何帮助/建议都将不胜感激。

这是一个有效的FIDDLE

如果您将位置从页面顶部复制/粘贴到 var locations = [....]; ,代码工作正常...但是当我尝试使用相同的位置/字符串/数组或任何你称之为的地方存储,我在地图上没有标记。

修改

根据Sam在答案中给我的内容,我试图稍微改变一下,所以我可以按照自己的方式去做,但我仍然无法让它发挥作用!

这是FIDDLE

基本上,我首先设置localstorage,然后尝试将其恢复,然后在locations中使用它。

1 个答案:

答案 0 :(得分:2)

self.ratings1

试一试。没有测试,但它应该工作正常。

修改:将其添加到您的fiddle