将当前地理位置保存到变量
Posted
技术标签:
【中文标题】将当前地理位置保存到变量【英文标题】:Save current geolocation to variable 【发布时间】:2012-05-08 07:53:04 【问题描述】:如何使用 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);
elsex.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 进行地理定位或执行每分钟获取当前位置的函数会更好吗?
【问题讨论】:
【参考方案1】:将它们添加到变量中很简单:
var lat = position.coords.latitude;
var lon = position.coords.longitude;
OR 作为一个对象:
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);
【讨论】:
如果我这样做 var lat = position.coords.latitude; var lon = position.coords.longitude;警报(纬度);警报只显示“未定义” 对不起,是的,当然我没有在传入位置的函数中设置对象属性。我的示例仅在您想在另一个函数中使用 coords 对象时有用,例如您的函数发送到服务器,你明白吗?我已经编辑过了。 那么我怎样才能将值传递给即使我警告变量也能工作的变量? 看看我的编辑,在 showPosition 函数中,我将坐标对象属性设置为位置对象的值。它们现在存储在 coords 对象中,你可以在任何你喜欢的地方提醒它们,或者对它们做任何你想做的事情。 看来我在这里遇到了同样的问题,我无法将 lat 和 long 传递给某个变量,所以我可以将它与我的代码一起使用,***.com/questions/11475192/…以上是关于将当前地理位置保存到变量的主要内容,如果未能解决你的问题,请参考以下文章