菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP 如何 W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

HTML 教程

HTML 首页 HTML 简介 HTML 编辑器 HTML 基础 HTML 元素 HTML 属性 HTML 标题 HTML 段落 HTML 样式 HTML 格式化 HTML 引用 HTML 注释 HTML 颜色 HTML CSS HTML 链接 HTML 图像 HTML 收藏夹图标 HTML 页面标题 HTML 表格 HTML 列表 HTML 块级和行内元素 HTML Div HTML 类 HTML Id HTML Iframes HTML JavaScript HTML 文件路径 HTML Head HTML 布局 HTML 响应式 HTML 计算机代码 HTML 语义 HTML 样式指南 HTML 实体 HTML 符号 HTML 表情符号 HTML 字符集 HTML URL 编码 HTML vs. XHTML

HTML 表单

HTML 表单 HTML 表单属性 HTML 表单元素 HTML 输入类型 HTML 输入属性 输入表单属性

HTML 图形

HTML Canvas HTML SVG

HTML 媒体

HTML 媒体 HTML 视频 HTML 音频 HTML 插件 HTML YouTube

HTML API

HTML 地理定位 HTML 拖放 HTML Web 存储 HTML Web Workers HTML SSE

HTML 示例

HTML 示例 HTML 编辑器 HTML 测验 HTML 练习 HTML 网站 HTML 面试准备 HTML 新兵训练营 HTML 证书 HTML 摘要 HTML 无障碍性

HTML 参考

HTML 标签列表 HTML 属性 HTML 全局属性 HTML 浏览器支持 HTML 事件 HTML 颜色 HTML Canvas HTML 音频/视频 HTML 文档类型 HTML 字符集 HTML URL 编码 HTML 语言代码 HTTP 消息 HTTP 方法 PX 到 EM 转换器 键盘快捷键

HTML 地理定位 API


HTML 地理定位 API 用于定位用户的位置。


定位用户的位置

HTML 地理定位 API 用于获取用户的地理位置。

由于这可能会泄露隐私,除非用户批准,否则无法获取位置信息。

注意:带有 GPS 的设备(如智能手机)的地理定位最准确。


浏览器支持

表中的数字表示完全支持地理定位的第一个浏览器版本。

API
地理定位 5.0 - 49.0 (http)
50.0 (https)
9.0 3.5 5.0 16.0

注意:自 Chrome 50 起,地理定位 API 仅在 HTTPS 等安全上下文上运行。如果您的站点托管在非安全源(如 HTTP)上,则获取用户位置的请求将不再起作用。


使用 HTML 地理定位

getCurrentPosition() 方法用于返回用户的位置。

下面的示例返回用户位置的纬度和经度

示例

<script>
const x = document.getElementById("demo");

function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else {
    x.innerHTML = "此浏览器不支持地理定位。";
  }
}

function showPosition(position) {
  x.innerHTML = "纬度: " + position.coords.latitude +
  "
经度: " + position.coords.longitude;
}
</script>
自己动手试一试 »

示例说明

  • 检查是否支持地理定位
  • 如果支持,运行 getCurrentPosition() 方法。否则,向用户显示一条消息
  • 如果 getCurrentPosition() 方法成功,它会向参数中指定的函数 (showPosition) 返回一个 coordinates 对象
  • showPosition() 函数输出纬度和经度

上面的示例是一个非常基本的地理定位脚本,没有错误处理。



处理错误和拒绝

getCurrentPosition() 方法的第二个参数用于处理错误。它指定一个函数,在无法获取用户位置时运行

示例

function showError(error) {
  switch(error.code) {
    case error.PERMISSION_DENIED
      x.innerHTML = "用户拒绝了地理定位请求。"
      break;
    case error.POSITION_UNAVAILABLE
      x.innerHTML = "位置信息不可用。"
      break;
    case error.TIMEOUT
      x.innerHTML = "获取用户位置的请求超时。"
      break;
    case error.UNKNOWN_ERROR
      x.innerHTML = "发生未知错误。"
      break;
  }
}
自己动手试一试 »

特定位置信息

本页演示了如何在地图上显示用户的位置。

地理定位对于特定位置的信息也非常有用,例如

  • 最新的本地信息
  • 显示用户附近的兴趣点
  • 逐向导航 (GPS)

getCurrentPosition() 方法 - 返回数据

getCurrentPosition() 方法在成功时返回一个对象。始终返回纬度、经度和精度属性。如果可用,则返回其他属性

属性 返回
coords.latitude 纬度,十进制数(始终返回)
coords.longitude 经度,十进制数(始终返回)
coords.accuracy 位置精度(始终返回)
coords.altitude 海拔,以米为单位,高于平均海平面(如果可用,则返回)
coords.altitudeAccuracy 位置海拔精度(如果可用,则返回)
coords.heading 从正北方向顺时针测量的航向,以度为单位(如果可用,则返回)
coords.speed 速度,以米/秒为单位(如果可用,则返回)
timestamp 响应的日期/时间(如果可用,则返回)

地理定位对象 - 其他有趣的方法

地理定位对象还有其他有趣的方法

  • watchPosition() - 返回用户的当前位置,并在用户移动时持续返回更新的位置(类似于汽车中的 GPS)。
  • clearWatch() - 停止 watchPosition() 方法。

下面的示例演示了 watchPosition() 方法。您需要一个精确的 GPS 设备来测试此功能(如智能手机)

示例

<script>
const x = document.getElementById("demo");

function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.watchPosition(showPosition);
  } else {
    x.innerHTML = "此浏览器不支持地理定位。";
  }
}
function showPosition(position) {
  x.innerHTML = "纬度: " + position.coords.latitude +
  "
经度: " + position.coords.longitude;
}
</script>
自己动手试一试 »

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持