javascript - 如何保存地理位置?
问题描述
好吧,我知道这可能真的很容易,但我知道的不多哈哈。所以我想做的是保存我当前的位置。因此,使用此代码,我可以获得当前的纬度和经度,但我将如何保存它并能够查看我保存的所有位置。我试图让一个按钮转到如果按下我将能够查看我保存的不同位置。
<!DOCTYPE html>
<html>
<body>
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()">Get Location</button>
<p id="demo"></p>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.watchPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";}
}
function showPosition(position) {
x.innerHTML="Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
解决方案
此处,如果该位置先前已在 localStorage 中设置,则当用户单击该位置对象存储在 localStorage 中的按钮时,将打印该位置。
这是现场演示
<!DOCTYPE html>
<html>
<body>
<p id="prevLoc"></p>
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()" id="getLoc">Get Location</button>
<p id="demo"></p>
<script>
if(localStorage.getItem("loc")) {
// json to object
var loc = JSON.parse(localStorage.getItem("loc")); document.querySelector("#prevLoc").innerHTML= `<b>PREVIOUS LOCATION</b><br />LAT:${loc.lat} LONG: ${loc.long}`;
}
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.watchPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";}
}
function showPosition(position) {
localStorage.setItem("loc", JSON.stringify({
"lat": position.coords.latitude,
"long": position.coords.longitude
}));
x.innerHTML="Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
</body>
</html>
推荐阅读
- c++ - 在 C++ 中返回多个大对象的最佳方法是什么?
- android-jetifier - 错误消息 - 无法使用 Jetifier 转换“~.jar”
- javascript - 如何在 AG 网格中制作运行总计列
- typescript - 如何列出项目中所有使用的打字稿类型
- json - 使用 GQ/BASH 将 JSON 转换为 CSV
- ios - 反应本机:在TestFlight中显示图像不起作用
- react-native - 反应原生动态平面列表高度
- python - Tkinter 按钮小部件窃听
- sql-server - INSERT 失败,因为以下 SET 选项的设置不正确:使用 BCP 时出现“QUOTED_IDENTIFIER”
- javascript - 当 Axios 发布错误时,DataDog 检测会破坏代码片段