Javascript 使用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").

我正试图利用谷歌地图的localStorage将开始、结束和行驶方向保存到本地存储,以便在关闭活动浏览器窗口后保留用户输入。我很确定我可以在这里添加函数:

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中的内容?