我是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次)?
答案 0 :(得分:2)
我建议改为使用setInterval函数以指定的时间间隔执行lat / long集合...如果上面的内容成功运行,它可能会快速收集相同的10次。
所以,既然你在没有任何类型的等待/间隔的情况下进行那些函数调用,它们都会在基本相同的时间点亮(0-9计数器显示)...至于只看到'调用更新mysql'一次,我想这与你将窗口的位置更改为不同的URL有关,而其他调用无法到达成功函数,因为你已经有了