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

htmlweb developmentfront end technology更新于 2025/12/29 3:24:17

HTML5 地理位置 API 可让您与您喜爱的网站共享您的位置。JavaScript 可以捕获您的经纬度,并将其发送到后端 Web 服务器,从而执行一些复杂的位置感知操作,例如查找本地商家或在地图上显示您的位置。地理位置坐标指定了设备的地理位置。

地理位置方法 getCurrentPosition() 和 getPositionUsingMethodName() 指定了检索位置信息的回调方法。这些方法会异步调用到存储完整位置信息的 Position 对象。

Position 对象指定了设备的当前地理位置。位置以一组地理坐标表示,并包含航向和速度信息。

位置对象的属性包括 −

属性
类型
描述
coords
objects
指定设备的地理位置。该位置以一组地理坐标以及航向和速度信息表示。
coords.latitude
Number
以十进制度为单位指定纬度估算值。值范围为 [-90.00, +90.00]。
coords.longitude
Number
指定十进制度数的经度估算值。取值范围为 [-180.00, +180.00]。

以下内容使用包含纬度和经度坐标的position对象。

地理位置对象提供以下方法。它们都使用坐标来检索位置 −

方法
描述
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){
               // 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>

相关文章


有用资源