HTML DOM 地理位置坐标属性


HTML DOM 地理位置坐标属性用于获取用户设备在地球上的位置和海拔高度。在使用此属性之前,用户必须同意提供坐标信息。这样做是为了保护用户的隐私。这可用于跟踪各种设备的位置。

属性

以下是坐标属性:

注意 - 所有这些属性都是只读的,并且它们的返回类型为双精度浮点数。

序号属性及描述
1coordinates.latitude
返回设备位置的纬度,以十进制度表示。
2coordinates.longitude
返回设备位置的经度,以十进制度表示。
3coordinates.altitude
返回位置的海拔高度,以米为单位,相对于海平面。如果设备没有 GPS,则可能返回 null。
4coordinates.accuracy
返回纬度和经度属性的精度,以米为单位。
5coordinates.altitudeAccuracy
返回海拔属性的精度,以米为单位。
6coordinates.heading
返回设备行驶的方向。此值以度为单位,指示设备偏离正北方向的角度。0 度表示正北方向,方向按顺时针方向确定(东为 90 度,西为 270 度)。如果速度为 0,则方向为 NaN。如果设备无法提供方向信息,则此值为 null。
7coordinates.speed
返回设备的速度,以米/秒为单位。此值可能为 null。

语法

以下是 GeoLocation 坐标属性的语法:

coordinates.property

“property”可以是表格中提到的任何上述属性。

示例

让我们来看一个 GeoLocation 坐标属性的示例:

<!DOCTYPE html>
<html>
<body>
<h1>Geolocation coordinates property</h1>
<p>Get you coordinates by clicking the below button</p>
<button onclick="getCoords()">COORDINATES</button>
<p id="Sample">Your coordinates are:</p>
<script>
   var p = document.getElementById("Sample");
   function getCoords() {
      if (navigator.geolocation) {
         navigator.geolocation.getCurrentPosition(showCoords);
      } else {
         p.innerHTML ="This browser doesn't support geolocation.";
      }
   }
   function showCoords(position) {
      p.innerHTML = "Longitude:" + position.coords.longitude + "<br>Latitude: " + position.coords.latitude+"<br>Accuracy: "+ position.coords.accuracy;
   }
</script>
</body>
</html>

输出

这将产生以下输出:

单击“COORDINATES”按钮并在“了解您的位置”弹出窗口中单击“允许”后:

在以上示例中:

我们首先创建了一个名为“COORDINATES”的按钮,当用户单击时,它将执行 getCoords() 方法。

<button onclick="getCoords()">COORDINATES</button>

getCoords() 函数获取 navigator 对象的 geolocation 属性以检查浏览器是否支持地理位置。如果浏览器支持地理位置,它将返回一个 Geolocation 对象。使用 navigator geolocation 属性的 getCurrentPosition() 方法,我们可以获取设备的当前位置。getCurrentPosition() 方法是一个回调函数,它将函数作为对象作为其参数,因为在 JavaScript 中每个函数都是一个对象。

在这里,我们将 showCoords() 方法传递给它。showCoords() 方法将位置接口作为参数,并使用它在 id 为“Sample”的段落中显示经度、纬度和精度。它使用段落的 innerHTML 属性向其中追加文本。

function getCoords() {
   if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(showCoords);
   } else {
      p.innerHTML ="This browser doesn't support geolocation.";
   }
}
function showCoords(position) {
   p.innerHTML = "Longitude:" + position.coords.longitude + "<br>Latitude: " + position.coords.latitude+"<br>Accuracy: "+ position.coords.accuracy;
}

更新于: 2019年8月20日

121 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告