HTML5 Geolocation API使您可以与自己喜欢的网站共享位置。Javascript可以捕获您的纬度和经度,并且可以发送到后端Web服务器,并可以进行精美的位置感知操作,例如查找本地商家或在映射上显示您的位置。地理位置坐标指定设备的地理位置。
地理位置方法,getCurrentPosition()
并getPositionUsingMethodName()
指定用于检索位置信息的回调方法。这些方法与存储完整位置信息的对象Position异步调用。
Position对象指定设备的当前地理位置。该位置表示为一组地理坐标以及有关航向和速度的信息。
位置对象的属性包括-
属性 | 类型 | 描述 |
座标 | 对象 | 指定设备的地理位置。该位置表示为一组地理坐标以及有关航向和速度的信息。 |
坐标纬度 | 数 | 以十进制度数指定纬度估算值。值范围是[-90.00,+90.00]。 |
坐标经度 | 数 | 以十进制度数指定经度估算值。值范围是[-180.00,+180.00]。 |
以下使用带有纬度和经度坐标的位置对象-
地理位置对象提供以下方法。他们都使用坐标来检索位置-
方法 | 描述 |
getCurrentPosition() | 此方法检索用户的当前地理位置。 |
watchPosition() | 此方法检索有关设备当前地理位置的定期更新。 |
clearWatch() | 此方法取消正在进行的watchPosition调用。 |
您可以尝试运行以下代码,以了解如何使用地理位置以及如何在HTML5中使用地理位置坐标。它检索有关设备当前地理位置的定期更新。该位置表示为一组地理坐标以及有关航向和速度的信息。
<!DOCTYPE HTML> <html> <head> <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){ //超时为60000毫秒(60秒) 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>