watchPosition方法检索有关设备当前地理位置的定期更新。该位置表示为一组地理坐标以及有关航向和速度的信息。
位置信息在Position对象中返回。每次更新都会返回一个新的Position对象。
watchPosition() - 语法
这是此方法的语法-
watchPosition(showLocation, ErrorHandler, options);
这是参数的详细信息-
showLocation - 这指定了检索位置信息的回调方法。该方法与与 Position 对象相对应的对象异步调用,该对象存储返回的位置信息。
ErrorHandler - 此可选参数指定在处理异步调用时发生错误时调用的回调方法。该方法由 PositionError 对象调用,该对象存储返回的错误信息。
options - 此可选参数指定一组用于检索位置信息的选项。
watchPosition() - 返回值
watchPosition方法返回与异步调用关联的唯一事务ID(数字)。使用此ID取消watchPosition调用并停止接收位置更新。
<!DOCTYPE HTML> <head> <html> <script type="text/javascript"> var watchID; var geoLoc; function showLocation(position) { var latitude=position.coords.latitude; var longitude=position.coords.longitude; alert("Latitude : " + latitude + " Longitude: " + longitude); } function errorHandler(err) { if(err.code == 1) { alert("Error: Access is denied!"); } else if( err.code == 2) { alert("Error: Position is unavailable!"); } } function getLocationUpdate(){ if(navigator.geolocation){ //timeout at 60000 milliseconds (60 seconds) var options={timeout:60000}; geoLoc=navigator.geolocation; watchID=geoLoc.watchPosition(showLocation, errorHandler, options); } else { alert("Sorry, browser does not support geolocation!"); } } </script> </head> <body> <form> <input type="button" onclick="getLocationUpdate();" value="Watch Update"/> </form> </body> </html>
这将产生以下输出-
参考链接
https://www.learnfk.com/html5/geolocation-watchposition.html