我只能使用 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 消息。他们已经确认了这个问题并正在调查中。希望尽快解决。