javascript - 使用 localStorage 保存 Google 地图和行车路线
问题描述
我正在尝试将 localStorage 与 Google 地图一起使用,以将开始、结束和行车路线保存到本地存储,以便在关闭活动浏览器窗口后保留用户输入。我很确定我可以在这里添加功能:
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;
}
推荐阅读
- python-3.x - 线性回归的预测非常不准确
- html - 是否可以调用另一个定义了 SVG 的 HTML 文档,并将其用作另一个 HTML 文档中的 SVG?
- linux - 您如何打开 FTDI 串行端口 ttyUSBx 以便我们可以在其上运行 2 个应用程序?
- android - Androidx Fragments 中的 getViewLifeCycleOwner() vs 'this' vs this.getActivity()
- caching - 限制清漆过程的内存
- assert - 断言运算符在各种变量之前和之后进行计数
- oracle - 使用Mybatis 3.4.6 for Oracle Batch-Update 得到“-1”结果
- php - 删除 id 在逗号分隔字符串中的行
- mysql - 如何在 Ubuntu 19.04 (Disco Dingo) 中编辑 php.ini 文件
- arm - 如何将为目标设备 STM32F072B 编写的 STM32 片段(代码示例)转换为 STM32F030r8