我正在使用HTML5地理定位API。我最近决定使用watchPosition方法从轮询用户位置切换到 ,一旦设备位置改变,该方法应该触发其“成功”功能。html5-geolocation:navigator.geolocation.watchPosition连续回调
但相反,它是一次又一次地填充我的数据库相同的位置。相关代码发布如下:
updateLocation = navigator.geolocation.watchPosition(success, failed, {enableHighAccuracy:true, maximumAge:30000, timeout:27000});
function success(){
showGPS(position);
}
function showGPS(position) {
var lng = position.coords.longitude;
var lat = position.coords.latitude;
gpsText.innerText = "Latitude: "+ lat +"\nLongitude: "+ lng + "\nAccuracy: "+ position.coords.accuracy + "\nSpeed:" + (position.coords.speed*3.6) + "\nAltitude:" + position.coords.altitude;
getData("http://databaseEntryURL/gpsReceiver.aspx?string=" + gpsText.innerText);
}
该getData被调用大约每秒5次。我确定latlng不会改变。我正在使用android 2.2来加载这个页面。如果设备位置发生变化,我如何才能使其调用成功功能?
这是一个错误......现在已经得到解决。不管怎么说,还是要谢谢你! – 2011-06-16 11:55:14
@ anirudh4444 - 我不认为这是一个* bug *,我认为当有关位置变化的任何数据,即经纬度/精度/海拔高度等等时,触发回调。 – James 2011-12-27 14:52:39
某些浏览器有问题,其他。检查iOS和Android 2.3。 – 2011-12-28 20:26:16