我只能使用 navigator.getCurrentPosition() 一次
I can only use navigator.getCurrentPosition() once
所以我有下面的代码来接收我当前的经度和纬度。它工作一次,但是当我重新加载页面时,当我按下按钮时它不再工作。有谁知道是什么原因造成的?
我正在使用 node.js 服务器。
<!DOCTYPE html>
<html>
<head>
<title>Get the Location</title>
<script type="text/javascript">
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(successfulPosition);
}
else
document.getElementById("result").innerHTML = "Your browser does not support HTML5 Geolocation";
}
function successfulPosition(location)
{
var lat = location.coords.latitude;
var long = location.coords.longitude;
document.getElementById("result").innerHTML = "Latitude: " + lat +
"<br />Longitude: " + long;
}
</script>
</head>
<body>
<div id="result"></div>
<button id="getPosition" onclick="getLocation();">Get Position</button>
</body>
</html>
您使用的是 Chrome 浏览器吗?好像有一个known issue with Chrome v65。我更新到 Chrome v66,它似乎又能正常工作了。虽然我仍然不明白为什么它这么慢(需要 5-10 秒),而在 safari 中它几乎是即时的。
编辑:
我已就响应缓慢向 Chromium 团队发送了 issue 消息。他们已经确认了这个问题并正在调查中。希望尽快解决。
所以我有下面的代码来接收我当前的经度和纬度。它工作一次,但是当我重新加载页面时,当我按下按钮时它不再工作。有谁知道是什么原因造成的?
我正在使用 node.js 服务器。
<!DOCTYPE html>
<html>
<head>
<title>Get the Location</title>
<script type="text/javascript">
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(successfulPosition);
}
else
document.getElementById("result").innerHTML = "Your browser does not support HTML5 Geolocation";
}
function successfulPosition(location)
{
var lat = location.coords.latitude;
var long = location.coords.longitude;
document.getElementById("result").innerHTML = "Latitude: " + lat +
"<br />Longitude: " + long;
}
</script>
</head>
<body>
<div id="result"></div>
<button id="getPosition" onclick="getLocation();">Get Position</button>
</body>
</html>
您使用的是 Chrome 浏览器吗?好像有一个known issue with Chrome v65。我更新到 Chrome v66,它似乎又能正常工作了。虽然我仍然不明白为什么它这么慢(需要 5-10 秒),而在 safari 中它几乎是即时的。
编辑:
我已就响应缓慢向 Chromium 团队发送了 issue 消息。他们已经确认了这个问题并正在调查中。希望尽快解决。