如何使用HTML5地理位置API将lat和lng值保存到变量?
这是我的代码,是从w3schools复制的。如何将坐标保存到var x= position.coords.latitude;
和var y= position.coords.longitude;
等变量,而不是仅显示代码正在执行的值?我是javascript的初学者所以我不知道该怎么做
<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to get your coordinates:</p>
<button onclick="getLocation()">Try It</button>
<script>
var x=document.getElementById("demo");
window.onload = 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>
</body>
</html>
在我的应用程序中,我需要每分钟将这些变量的值发送到服务器。使用watchposition进行地理定位或执行每分钟都能获得当前位置的函数会更好吗?
答案 0 :(得分:1)
将它们添加到变量就像这样简单:
var lat = position.coords.latitude;
var lon = position.coords.longitude;
或作为对象:
var coords = {lat: "", lon: ""};
然后在代码中使用该对象:
function showPosition(position)
{
coords.lat = position.coords.latitude;
coords.lon = position.coords.longitude;
x.innerHTML="Latitude: " + coords.lat +
"<br />Longitude: " + coords.lon;
}
至于将变量发送到服务器,这取决于您的服务器端技术,但您会在google上找到许多示例。
function sendToServer(){
// here you can reuse the object to send to a server
console.log("lat: " + coords.lat);
console.log("lon: " + coords.lon);
}