如何在HTML5中使用地理位置坐标?

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>