【发布时间】:2011-06-15 20:59:01
【问题描述】:
我正在使用 HTML5 地理定位 API。我最近决定从轮询用户位置转移到 使用 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 来加载此页面。仅当设备位置发生变化时,如何使其调用成功函数?
【问题讨论】:
标签: html geolocation latitude-longitude