我只能使用navigator.getCurrentPosition()一次

时间:2018-04-17 12:22:51

标签: javascript html geolocation

所以我有以下代码来接收我目前的经度和纬度。它工作一次,但是当我重新加载页面时,当我按下按钮时它不再起作用。有谁知道造成这种情况的原因是什么?

我正在使用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>

1 个答案:

答案 0 :(得分:1)

您使用的是Chrome浏览器吗?好像有known issue with Chrome v65。我更新到Chrome v66,它似乎再次一致。虽然我仍然无法弄清楚为什么它如此缓慢(需要5-10秒),而在safari中它几乎是即时的。

编辑:

我在Chromium团队中记录了issue关于响应迟缓的问题。他们已经证实了这个问题,正在调查中。我们希望尽快得到解决方案。