如何在 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 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告