编程笔记 html5&css&js 035 HTML 地理定位

这篇具有很好参考价值的文章主要介绍了编程笔记 html5&css&js 035 HTML 地理定位。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

地理定位有很多事情有关,购物时要知道你在哪吧,驾车时就更是了,所有浏览器还提供了定位的功能,可以在网页中使用。

一、HTML5 地理定位

HTML5 Geolocation(地理定位)用于定位用户的位置。
HTML5 Geolocation API 用于获得用户的地理位置。
鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。
注释:对于拥有 GPS 的设备,比如 iPhone,地理定位更加精确。
请使用 getCurrentPosition() 方法来获得用户的位置。
下例是一个简单的地理定位实例,可返回用户位置的经度和纬度。

<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{x.innerHTML="Geolocation is not supported by this browser.";}
  }
function showPosition(position)
  {
  x.innerHTML="Latitude: " + position.coords.latitude +
  "<br />Longitude: " + position.coords.longitude;
  }
</script>

检测是否支持地理定位
如果支持,则运行 getCurrentPosition() 方法。如果不支持,则向用户显示一段消息。
如果getCurrentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象
showPosition() 函数获得并显示经度和纬度
上面的例子是一个非常基础的地理定位脚本,不含错误处理。

二、处理错误和拒绝

getCurrentPosition() 方法的第二个参数用于处理错误。它规定当获取用户位置失败时运行的函数:
实例
function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
x.innerHTML=“User denied the request for Geolocation.”
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML=“Location information is unavailable.”
break;
case error.TIMEOUT:
x.innerHTML=“The request to get user location timed out.”
break;
case error.UNKNOWN_ERROR:
x.innerHTML=“An unknown error occurred.”
break;
}
}
Permission denied - 用户不允许地理定位
Position unavailable - 无法获取当前位置
Timeout - 操作超时

三、getCurrentPosition() 方法 - 返回数据

若成功,则 getCurrentPosition() 方法返回对象。始终会返回 latitude、longitude 以及 accuracy 属性。如果可用,则会返回其他下面的属性。

属性	描述
coords.latitude	十进制数的纬度
coords.longitude	十进制数的经度
coords.accuracy	位置精度
coords.altitude	海拔,海平面以上以米计
coords.altitudeAccuracy	位置的海拔精度
coords.heading	方向,从正北开始以度计
coords.speed	速度,以米/每秒计
timestamp	响应的日期/时间

四、Geolocation 对象 - 其他有趣的方法

watchPosition() - 返回用户的当前位置,并继续返回用户移动时的更新位置(就像汽车上的 GPS)。
clearWatch() - 停止 watchPosition() 方法
下面的例子展示 watchPosition() 方法。您需要一台精确的 GPS 设备来测试该例(比如 iPhone):

<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.watchPosition(showPosition);
    }
  else{x.innerHTML="Geolocation is not supported by this browser.";}
  }
function showPosition(position)
  {
  x.innerHTML="Latitude: " + position.coords.latitude +
  "<br />Longitude: " + position.coords.longitude;
  }
</script>

五、练习

<!DOCTYPE html>
<html lang="zh-cn">
    <title>编程笔记 html5&css&js HTML MathML</title>
    <meta charset="utf-8" />
    <style>
        body {
            color: cyan;
            background-color: teal;
        }
        .container {
            width: 500px; /* 设置容器的宽度 */
            margin: 0 auto; /* 将左右边距设置为自动 */
            line-height: 2;
        }
    </style>
    <body>
        <div class="container">
            <p id="demo">点击这个按钮,获得您的地理定位:</p>
            <button onclick="getLocation()">试一下</button>
            <script>
                var x = document.getElementById("demo");
                function getLocation() {
                    if (navigator.geolocation) {
                        navigator.geolocation.getCurrentPosition(showPosition);
                    } else {
                        x.innerHTML = "Geolocation is not supported by this browser.";
                    }
                }
                //coords.latitude	十进制数的纬度
                // coords.longitude	十进制数的经度
                // coords.accuracy	位置精度
                // coords.altitude	海拔,海平面以上以米计
                // coords.altitudeAccuracy	位置的海拔精度
                // coords.heading	方向,从正北开始以度计
                // coords.speed	速度,以米/每秒计
                // timestamp	响应的日期/时间
                function showPosition(position) {
                    x.innerHTML =
                        "纬度: " +
                        position.coords.latitude +
                        "<br />经度: " +
                        position.coords.longitude +
                        "<br />位置精度: " +
                        position.coords.accuracy +
                        "<br />海拔: " +
                        position.coords.altitude +
                        "<br />海拔精度: " +
                        position.coords.altitudeAccuracy +
                        "<br />方向: " +
                        position.coords.heading +
                        "<br />速度(米/秒): " +
                        position.speed +
                        "<br />定位时间: " +
                        position.timestamp;
                }
            </script>
        </div>
    </body>
</html>

小结

实际应用中还要结全地理应用,才能产生更为直观的感受。文章来源地址https://www.toymoban.com/news/detail-783295.html

到了这里,关于编程笔记 html5&css&js 035 HTML 地理定位的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 编程笔记 html5&css&js 036 CSS概述

    CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重

    2024年01月22日
    浏览(33)
  • 编程笔记 html5&css&js 026 HTML输入类型(2/2)

    本节介绍HTML输入类型。也就是 input 元素 type 属性的可以使用的值。这在桌面程序中是通过不同的控件实现的。 input type=\\\"date\\\" 用于应该包含日期的输入字段。 根据浏览器支持,日期选择器会出现输入字段中。 input type=\\\"color\\\" 用于应该包含颜色的输入字段。 用于应该包含一定范

    2024年01月24日
    浏览(30)
  • 编程笔记 html5&css&js 036 CSS应用方式

    如何在网页中使用CSS?实际上有三种方式。 有三种插入样式表的方法: 外部 CSS 内部 CSS 行内 CSS 通过使用外部样式表,您只需修改一个文件即可改变整个网站的外观! 每张 HTML 页面必须在 head 部分的 link 元素内包含对外部样式表文件的引用。 外部样式在 HTML 页面 head 部分内

    2024年01月22日
    浏览(31)
  • 编程笔记 html5&css&js 037 CSS选择器

    CSS用于处理网页的样式,就像一个人的装扮,拿来一个衣物或饰品,你得知道穿着在什么部位,不能把袜子当成口罩,CSS里面是一些属性和值,用在网页的哪个地方,就叫选择器。 CSS 选择器用于“查找”(或选取)要设置样式的 HTML 元素。 我们可以将 CSS 选择器分为五类:

    2024年01月21日
    浏览(28)
  • 编程笔记 html5&css&js 040 CSS盒子模型

    网页是靠分成不同的块,再赋予这些块各不相同的属性来布局的。所以这个“块”是一个基础。先看块本身的构造。 CSS 盒子模型(Box Model)。所有HTML元素可以看作盒子,在CSS中,\\\"box model\\\"这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它

    2024年01月17日
    浏览(25)
  • 编程笔记 html5&css&js 054 CSS默认值

    css属性在没有设置的时候,也是有值的,这就是默认值。列在下面,方便查看。 元素 默认的 CSS 值 a:link color: (internal value); text-decoration: underline; cursor: auto; a:visited color: (internal value); text-decoration: underline; cursor: auto; a:link:active color: (internal value); a:visited:active color: (internal value

    2024年01月25日
    浏览(21)
  • 编程笔记 html5&css&js 039 CSS背景示例

    网页上只有三个水平并列大小相同的的DIV,大小为300p*200,如何使用CSS让它们整体水平和垂直都居中,并使用不同的背景色? 要在网页上实现三个水平并列且大小相同的div元素,每个尺寸为300像素宽和200像素高,整体居中显示且具有不同的背景颜色,你可以通过以下CSS来完成:

    2024年01月20日
    浏览(28)
  • 编程笔记 html5&css&js 043 CSS尺寸属性

    块的宽度和高度,决定了块的大小,也就是尺寸。 height 和 width 属性用于设置元素的高度和宽度。height 和 width 属性不包括内边距、边框或外边距。它设置的是元素内边距、边框以及外边距内的区域的高度或宽度。 height 和 width 属性可设置如下值: auto - 默认。浏览器计算高度

    2024年01月21日
    浏览(26)
  • 编程笔记 html5&css&js 041 CSS边框属性

    盒子是由四周的边框组成,边框的属性就构成了盒子的大部分样式。 CSS border 属性允许您指定元素边框的样式、宽度和颜色。 border-style 属性指定要显示的边框类型。 允许以下值: border-style 属性可以设置一到四个值(用于上边框、右边框、下边框和左边框)。 注意:除非设

    2024年01月19日
    浏览(26)
  • 编程笔记 html5&css&js 053 CSS伪元素

    CSS 伪元素用于设置元素指定部分的样式。 什么是伪元素? 设置元素的首字母、首行的样式 在元素的内容之前或之后插入内容 语法 伪元素的语法: ::first-line 伪元素用于向文本的首行添加特殊样式。 下面的例子为所有 p 元素中的首行添加样式: ::first-line 伪元素只能应用于

    2024年01月23日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包