在localStorage中添加谷歌地图标记

Adding Google Maps Marker in localStorage

本文关键字:地图 图标 谷歌 添加 localStorage      更新时间:2023-09-26

是否有办法将用户创建的标记添加到localStorage ?如果浏览器刷新或关闭,我希望检索由用户添加的标记的相同坐标。看来localStorage可以帮助实现这一目标。

我正在尝试如下的东西,这似乎不正确。请注意,我对JavaScript相当陌生。

google.maps.event.addListener(marker, "dragend", function() {
        localStorage.setItem('marker',true);
        localStorage.getItem('marker');
});

我想可能是在localStorage中设置了标记,但是在页面刷新时我看不到它。

谢谢。

如果你试图存储标记本身,你会得到一个错误"转换圆形结构JSON",即使在字符串化之后。此外,它还会存储您可能不需要的额外数据。由于空间限制,我建议您在浏览器中存储尽可能少的数据。

你可以做的是创建你的数据类型来保存标记(长和短)的信息,并存储这个对象。参见下面的....

var latlng = new google.maps.LatLng(42.123456789, -36.123456789); 
var marker = new google.maps.Marker({
                position: latlng
            });
var newMarker = {Lat: marker.position.lat(), Lng: marker.position.lng()};
localStorage["marker1"] = JSON.stringify(newMarker);
console.log(localStorage["marker1"]);

在这里玩一下:http://jsfiddle.net/94qhJ/