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


HTML5 地理位置 API 允许您与您喜爱的网站共享您的位置。Javascript 可以捕获您的经纬度,并可以发送到后端 Web 服务器,并执行诸如查找本地企业或在地图上显示您的位置等位置感知操作。地理位置坐标指定设备的地理位置。

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

Position 对象指定设备当前的地理位置。位置表示为一组地理坐标以及有关航向和速度的信息。

Position 对象的属性包括:

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

以下使用带经纬度坐标的 Position 对象:

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

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

更新于: 2020年5月14日

300 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告