Javascript 使用localStorage保存谷歌地图和行车指南
我正试图利用谷歌地图的localStorage将开始、结束和行驶方向保存到本地存储,以便在关闭活动浏览器窗口后保留用户输入。我很确定我可以在这里添加函数:Javascript 使用localStorage保存谷歌地图和行车指南,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正试图利用谷歌地图的localStorage将开始、结束和行驶方向保存到本地存储,以便在关闭活动浏览器窗口后保留用户输入。我很确定我可以在这里添加函数: function calculateAndDisplayRoute(directionsService, directionsRenderer) { var start = document.getElementById("start").value; var end = document.getElementById("end").
function calculateAndDisplayRoute(directionsService, directionsRenderer) {
var start = document.getElementById("start").value;
var end = document.getElementById("end").value;
directionsService.route(
{
origin: start,
destination: end,
travelMode: "DRIVING",
},
function (response, status) {
if (status === "OK") {
directionsRenderer.setDirections(response);
} else {
window.alert("Directions request failed due to " + status);
}
}
);
}
我已将此函数嵌套在上述函数中:
function showData() {
localStorage.setItem("startData", JSON.stringify(start));
localStorage.setItem("endData", JSON.stringify(end));
var sData = localStorage.getItem("startData");
var eData = localStorage.getItem("endData");
var sObject = JSON.parse(sData);
var eObject = JSON.parse(eData);
}
我没有看到任何JavaScript错误,使用开发人员工具,我可以看到项目被写入本地存储。但是,当我重新加载或关闭选项卡时,即使写入了本地存储值,用户选择也会重置
当应用程序刷新时,我如何让用户选择保持不变?谢谢大家。我想出来了。我能够通过这个循环得到我所需要的:
if (
first &&
localStorage.getItem("startData") &&
localStorage.getItem("endData")
) {
start = localStorage.getItem("startData");
end = localStorage.getItem("endData");
} else {
start = document.getElementById("start").value;
end = document.getElementById("end").value;
}
什么是
end
(end.addEventListener(“单击”,showData,false);
)?您是否收到任何javascript错误?请提供一个演示该问题的示例。谢谢。我删除了有问题的行,并更新了原来的帖子。我没有看到错误,并且正在将值写入本地存储。但是,在刷新或关闭窗口并返回时,所选值将重置。本地存储仍然保留值。我在任何地方都看不到localStorage.getItem。你使用它吗?它在我分离出来的第二个函数(showData)中,显示了我添加到基础Google JS中的内容?