Javascript 如何在谷歌地图中使用本地存储数据?
我有一个谷歌地图,它工作得很好 我填充地图的标记/位置,如下所示:Javascript 如何在谷歌地图中使用本地存储数据?,javascript,html,google-maps,Javascript,Html,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']
var locations = [
['Test 1', 'somewhere', 'map-marker-icon.png']
,
['Test 2', 'London', 'map-marker-icon.png']
,
['Test 3', 'essex', 'map-marker-icon.png']
,
];
var nowMarker = localStorage.getItem('mapMarkers');
var locations = [
nowMarker
];
现在,如果我像上面那样在HTML文件中的所有位置运行我的代码,我的代码运行良好,所有标记都显示在我的地图上
但是,我也在localstorage中存储了完全相同的位置,我可以在Firestorage/Firbug中看到它们
localstorage如下所示:
['Test 1', 'somewhere', 'map-marker-icon.png']
,
['Test 2', 'London', 'map-marker-icon.png']
,
['Test 3', 'essex', 'map-marker-icon.png']
,
因此,我尝试使用localstorage创建地图的标记,如下所示:
var locations = [
['Test 1', 'somewhere', 'map-marker-icon.png']
,
['Test 2', 'London', 'map-marker-icon.png']
,
['Test 3', 'essex', 'map-marker-icon.png']
,
];
var nowMarker = localStorage.getItem('mapMarkers');
var locations = [
nowMarker
];
但这根本不起作用,我的意思是我的地图上没有任何标记
这可能吗?如果可能,最好的方法是什么
如有任何帮助/建议,将不胜感激
这是一份工作报告
如果您将位置从页面顶部复制/粘贴到var locations=[…]中代码工作正常。。。但是,当我尝试使用相同的位置/字符串/数组或您将其称为什么时,从localstorage中,我在地图上找不到任何标记
编辑
根据Sam在回答中给我的答案,我尝试稍微改变一下,这样我就可以按自己的方式来做,但我仍然无法让它工作
这是一个
基本上,我先设置localstorage,然后尝试将其取回,然后在位置使用它
localStorage.setItem('mapMarkers', JSON.stringify(locations));
locations = JSON.parse(localStorage.getItem('mapMarkers'));
试试这个。没有测试,但应该可以正常工作
编辑:将此添加到您的否不幸的是,它不起作用。这是不起作用的代码:JSFIDLE中的变量“locations”与您在问题中给出的变量不同。我刚刚测试过,如果你在问题中使用变量,这是有效的。您可能想看看JSON对象的可视表示。您是如何测试它的?在我的问题中,我用完全相同的“位置”测试了它,但它仍然不起作用!这里是小提琴:看我的编辑。我用这个更新了你的小提琴,效果很好。对不起,我想你不明白这个问题!您正在直接从html/javascript设置“位置”!正如我在问题中所说,我的代码工作得很好。。。我需要从localstorage中获取位置,如我的问题中所示: