您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > HTML

HTML地理坐标

时间:2019-08-30 10:46:01  来源:  作者:



定位基准

说到地理坐标,一定是有一个定位的基准的。在web开发的过程中,它的定位基准一共有那么几种:

第一种是IP,根据当前电脑或者是手机设备它的IP地址来确定当前的地理坐标。IP定位是通过ISP机房,也就是每一个登记的机房位置,比如小区,每一栋大楼都会有一个登记的ISP机房。如果使用IP定位的话,它大约能够精确到小区或者是大楼级别,比如一栋和二栋通过这个IP地址就能准确的区分出来。IP定位的误差大概在十几米。

第二种是GPS,GPS是基于卫星定位的,它相对来说是比较准确的,但是它需要硬件支持。比如电脑一般是不具备GPS定位功能的。它的精确度很高,如果是军方的话可以达到1米甚至以内。

第三种WIFI定位,WiFi定位是通过每一个WiFi地址的mac地址,特别精确。如果WiFi有登记过的话,它的误差大概在一米左右。WiFi是有一个信号辐射范围的,根据辐射范围的强弱可以确定当前的设备距离这个WiFi有多远。但是它的支持性能不是太好,只能支持室内。

第四种GSM和CDMA是比较常见的,是使用手机卡来定位的,也就是基于设备的基站。比如联通的信号塔电信的信号塔,它的精确度也是比较高的,它一般是用于手机或者是通信设备。不同的信号塔会接到来自不同方位的信号,然后根据这个信号的叠加和它的强弱再来确定当前的位置,它的精确度可以达到10米左右。

最后一种是用户指定,可以手动指定当前的位置,假如当前定位不准,我们需要做一个校正指定当前的位置,最常见的就是我们平常使用打车软件时,如果自动获取的位置不准,那么我们可以通过移动来手动指定我们当前的位置。

2:获取流程

获取定位基准之后,我们需要获取当前的地理坐标,获取是有一个流程的。首先打开web应用,打开之后向浏览器请求地理信息,这时会弹出一个询问窗口,由于位置信息涉及到一个隐私,所以浏览器做了一个双重的保护,询问之后如果同意了,这时浏览器就会从设备或者受信任的服务器获取位置信息并返回。

3:浏览器兼容

HTML地理坐标

browser_map

4:获取用户当前坐标(地理坐标到底是怎么获取的)

getCurrentPosition(onSuccess,onError,options)

onSuccess是一个回调函数,options有三个值:enableHighAccuracy(高精度标识,在设备或者是服务器能达到范围内返回最高精度)、timeout(超出时间,如果在指定时间内获取不到位置信息就会返回Error,默认是0(无穷大))、maximumAge(缓存时间)。

const getLocation = () => {
 const options = {
 enableHighAccuracy: false, 
 maximumAge: 1000
 }
 if(navigator.geolocation) {
 //浏览器支持geolocation
 navigator.geolocation.getCurrentPosition(onSuccess,onError,options);
 } else {
 //浏览器不支持geolocation
 alert('当前浏览器不支持getLocation');
 }
}
​
//成功回调
function onSuccess(position) {
 const longitude = position.coords.longitude;
 //纬度
 const latitude = position.coords.latitude;
 console.log('position', { longitude, latitude });
}
​
//失败回调
function onError(error) {
 switch(error.code){
 case 1:
 alert("位置服务被拒绝");
 break;
 case 2:
 alert("暂时获取不到位置信息");
 break;
 case 3:
 alert("获取信息超时");
 break;
 case 4:
 alert("未知错误");
 break;
 }
}

5:持续获取用户当前位置(科学上网)

watchCurrentPosition(onSuccess, onError, options);

let watchId = undefined;
​
const getLocation = () => {
 const options = {
 enableHighAccuracy: false, 
 maximumAge: 1000
 }
 if(navigator.geolocation) {
 //浏览器支持geolocation
 watchId = navigator.geolocation.watchPosition(showPosition);
 } else {
 //浏览器不支持geolocation
 alert('当前浏览器不支持getLocation');
 }
}
​
function showPosition(position) {
 const longitude = position.coords.longitude;
 const latitude = position.coords.latitude;
 console.log('position', { longitude, latitude });
}
​
const cancel = () => {
 //清除当前持续获取当前位置,可以当做是一个setInterval
 if(watchId) navigator.geolocation.clearWatch(watchId);
}

6:coords

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


Tags:HTML   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个开源的 HTML5 视频播放器插件——MuiP...【详细内容】
2021-12-16  Tags: HTML  点击:(23)  评论:(0)  加入收藏
此文由掘金@天行天忌授权发布,前端晚间课对其内容进行微改。 HTML,超文本标记语言,是一种用于创建网页的标准标记语言。自从引入 HTML 以来,它就一直用于构建互联网。与 JavaScr...【详细内容】
2021-11-23  Tags: HTML  点击:(326)  评论:(0)  加入收藏
HTML是什么?超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用。HTML 不是一种编程语言,而是一种标记语言 (markup language),是网页制作所必备的。“...【详细内容】
2021-11-05  Tags: HTML  点击:(40)  评论:(0)  加入收藏
一、iframe标签 自己编写的页面中如果要引用外部的页面的话,可以使用iframe标签来实现。为了更好地理解举个例子,前面几篇中我们都是在index.hmtl中编写代码。如果有个需求是...【详细内容】
2021-11-03  Tags: HTML  点击:(29)  评论:(0)  加入收藏
Web项目开发中视频播放是一个非常常见的需求,需要播放器能够支持pc端和移动端的使用,并且支持常见的视频格式。我们从github上精选了5款优秀的Html5 播放器插件分享给大家。(排...【详细内容】
2021-09-17  Tags: HTML  点击:(101)  评论:(0)  加入收藏
前言在刚接触HTML的时候,你是否被它众多的标签所惊讶?尤其是HTNL5的标签,新增了不少,很多HTML4的标签跨版本之后就用不了了,如此多的标签,要记是不可能记完的,我们只需要一些常用的...【详细内容】
2021-08-27  Tags: HTML  点击:(343)  评论:(0)  加入收藏
我们倾向于使用HTML与CSS、JavaScript等,使我们的网站或博客看起来更有吸引力,但你知道仅HTML就有很多实用的秘密,可能会派上用场,帮助你设计一个华丽的网站?下面是一些很酷的HTM...【详细内容】
2021-08-13  Tags: HTML  点击:(90)  评论:(0)  加入收藏
meta 标签分两大部分:HTTP 标题信息(http-equiv)和页面描述信息(name)。 1、声明文档使用的字符编码<meta charset=&#39;utf-8&#39;>以下设置更为详细:<meta http-equiv="Content-...【详细内容】
2021-08-12  Tags: HTML  点击:(91)  评论:(0)  加入收藏
本节我们讲HTML表单标签,当你在网页输入框提交一个数据,这条数据一般是提交给了服务器,然后服务器根据请求返回你想要的数据,这个你输入信息的输入框或者提交的按钮就是HTML表...【详细内容】
2021-06-25  Tags: HTML  点击:(141)  评论:(0)  加入收藏
同事跟我说他用jQuery取不到页面上隐藏元素input的值,他的html页面大概内容如下。<!DOCTYPE html><html lang="zh"> <head> <meta http-equiv="Content-Type" content="text/...【详细内容】
2021-05-18  Tags: HTML  点击:(220)  评论:(0)  加入收藏
▌简易百科推荐
此文由掘金@天行天忌授权发布,前端晚间课对其内容进行微改。 HTML,超文本标记语言,是一种用于创建网页的标准标记语言。自从引入 HTML 以来,它就一直用于构建互联网。与 JavaScr...【详细内容】
2021-11-23  前端晚间课    Tags:HTML6   点击:(326)  评论:(0)  加入收藏
HTML是什么?超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用。HTML 不是一种编程语言,而是一种标记语言 (markup language),是网页制作所必备的。“...【详细内容】
2021-11-05  人生三部曲丶    Tags:HTML   点击:(40)  评论:(0)  加入收藏
一、iframe标签 自己编写的页面中如果要引用外部的页面的话,可以使用iframe标签来实现。为了更好地理解举个例子,前面几篇中我们都是在index.hmtl中编写代码。如果有个需求是...【详细内容】
2021-11-03  HillelDu    Tags:html   点击:(29)  评论:(0)  加入收藏
我们倾向于使用HTML与CSS、JavaScript等,使我们的网站或博客看起来更有吸引力,但你知道仅HTML就有很多实用的秘密,可能会派上用场,帮助你设计一个华丽的网站?下面是一些很酷的HTM...【详细内容】
2021-08-13  杭州程序员小张    Tags:HTML   点击:(90)  评论:(0)  加入收藏
meta 标签分两大部分:HTTP 标题信息(http-equiv)和页面描述信息(name)。 1、声明文档使用的字符编码<meta charset=&#39;utf-8&#39;>以下设置更为详细:<meta http-equiv="Content-...【详细内容】
2021-08-12  简易编程    Tags:meta标签   点击:(91)  评论:(0)  加入收藏
本节我们讲HTML表单标签,当你在网页输入框提交一个数据,这条数据一般是提交给了服务器,然后服务器根据请求返回你想要的数据,这个你输入信息的输入框或者提交的按钮就是HTML表...【详细内容】
2021-06-25  科技现象    Tags:HTML   点击:(141)  评论:(0)  加入收藏
背景日常工作中,项目编程免不了需要使用配置文件,早期yaml出现之前,大部分配置文件采用xml形式,但是以xml格式储存的数据要比以其他格式(如json、yaml)储存占有的空间要大得多,因为...【详细内容】
2021-06-21  爱读书的程序员    Tags:yaml   点击:(265)  评论:(0)  加入收藏
XML; 是什么? Extensible Markup Languare 可扩展标记型语言 为什么要有XML? 1.HTML的标签是固定的,不可以改变,也不可以进行一个&middot;&middot;&middot;扩展 2.HTML语法松散...【详细内容】
2021-06-01  LeviT    Tags:XML   点击:(193)  评论:(0)  加入收藏
同事跟我说他用jQuery取不到页面上隐藏元素input的值,他的html页面大概内容如下。<!DOCTYPE html><html lang="zh"> <head> <meta http-equiv="Content-Type" content="text/...【详细内容】
2021-05-18  IT洞察者    Tags:Html   点击:(220)  评论:(0)  加入收藏
HTML5语义化与新特性什么是HTML语义化?表示选择合适的标签(语义化标签)便于开发者阅读和写出更优雅的代码为什么要使用语义化标签?1). 在没有CSS样式的情况下,页面整体也会呈现...【详细内容】
2021-03-02      Tags:HTML   点击:(236)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条