0

我是 Java 脚本新手,需要快速帮助。这是我的代码:

<html>
<head>
<title> GeoLocation Application </title>
<script>
$counter=0;
while ($counter < 10) {
if (!navigator.geolocation) {
  alert('Your browser does not support geolocation');
  } else {
  navigator.geolocation.getCurrentPosition(success, error);
  document.write("Count ",$counter,"<br>");
  }

  $counter ++;
 }

 function success(position) {
   lat = position.coords.latitude;
   lng = position.coords.longitude;
  alert (lat +','+lng);
  document.write("calling update mysql");
  //document.location='update_java_data.php?lat=' + lat+'&lng='+lng;
  }

  function error(error) {
     alert('an erro occured, error code is '+error);
     }
</script>
</head>
<body>
 <h1> Hello </h1>

</body>
</html>

我正在尝试使用导航器获取坐标 10 次。但是当我只看到从 0 到 9 的计数器显示的快速列表,但只有一次显示“调用更新 mysql”时。对我来说,这意味着它只执行了一次成功功能。

知道如何让它获得坐标 10 次(这意味着我猜它也应该调用成功函数 10 次)?

4

1 回答 1

2

我建议改为使用 setInterval 函数以指定的时间间隔进行纬度/经度收集...如果您上面的内容成功运行,它可能会快速收集相同的点 10 次。

因此,由于您在没有任何类型的等待/间隔的情况下进行这些函数调用,它们基本上同时触发(0-9 计数器显示)......至于只看到一次“调用更新 mysql”,我会想象一下,这与您将窗口的位置更改为不同的 url 有关,并且其他调用无法达到成功功能,因为您已经有了 mo

于 2012-11-19T03:51:35.680 回答