使用getCurrentPosition方法实时获取当前Geolocation信息:

1、getCurrentPosition方法的使用

 navigator.geolocation.getCurrentPosition(
function (position) {
//获取地理位置成功时所做的处理
},
function (error) {
//获取地理位置信息失败时所做的处理
}, //以下是可选属性
{
enableHighAccuracy: true,//是否要求高精度的地理位置信息
timeout: 1000,//对地理位置信息的获取操作做超时限制,如果再该事件内未获取到地理位置信息,将返回错误
maximumAge:60*1000//设置缓存有效时间,在该时间段内,获取的地理位置信息还是设置此时间段之前的那次获得的信息,超过这段时间缓存的位置信息会被废弃
})

2、使用getCurrentPosition方法和position对象的一些属性等实现实时获取地理位置的经纬度

 <!Doctype html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<meta name="keywords" content="关键词"/>
<meta name="description" content="描述"/>
<meta name="author" content="奇客艺术"/>
</head>
<body>
<p id="GeoDisplay"></p>
<script>
Geolocation();//执行Geolocation()函数
setInterval(Geolocation,100);//设置定时器,100ms执行一次Geolocation();实现实时获取
function getElem(id) {
return typeof id === 'string' ? document.getElementById(id):id;//typeof表示变量id的类型为字符串类型
}
var GetID = getElem("GeoDisplay");
function showMap(lat,lon) {//自定义了一个在浏览器上显示地理信息的函数
var str = "您当前位置的维度:"+lat+",经度:"+lon;
GetID.innerHTML = str;
}
function Geolocation() {
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(
function (position) {//传入了对象position
showMap(position.coords.latitude,position.coords.longitude);
},
function (err) {//传入了error对象
GetID.innerHTML = err.code + '\n'+err.message;//Firefox3.6以上不支持error对象的message属性
//error对象的code属性有如下属性值:
//PERMISSION_DENIED(1):(permission_denied):用户单机信息条上的“不共享”按钮或直接拒绝被获取位置信息
//POSITION_UNAVAILABLE(2):(position_unavailable):(position_unavailable)网络不可用或者无法连接到获取位置信息的卫星
//TIMEOUT(3):(timeout)网络可用但在计算机用户的位置上花费过长时间
//UNKNOWN_ERROR(0):(unknown_error)发生其他未知错误
})
}else {
GetID.innerHTML = "您当前使用的浏览器不支持地理定位服务";
}
}
</script>
</body>
</html>

Effect  Picture:(当然也会受到网络的影响,变化没那么快;Microsoft Edge 38.14393.0.0下测试)

源码文件下载:getCurrentPosition方法实时获取当前Geolocation信息.zip

文章系笔者原创,转载请注明出处,感谢合作!

使用getCurrentPosition方法实时获取当前Geolocation信息(附源码文件)--html5、JavaScript的更多相关文章

  1. 使用getCurrentPosition方法实时获取当前Geolocation信息(赋源码文件)--html5、JavaScript

    使用getCurrentPosition方法实时获取当前Geolocation信息: 1.typeof 运算符返回一个用来表示表达式的数据类型的字符串 <script> alert(typ ...

  2. 在Android Studio中使用BaiduMap SDK实时获取当地位置信息

    配置BaiduMap 环境 1.在百度API中新建自己的一个APP包名和APP名需要注意和自己Android Studio 中的包名和APP名保持一致: 2.百度地图中还需要填写一个SHA1 数字签名 ...

  3. flowable中使用到的一些方法。获取人员部门信息

    package org.springblade.desk.utils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf ...

  4. 获取windows进程信息及CListCtrl控件(List Control)练习

    环境:VS2010/MFC/对话框 效果图: 目录: 1.  关于windows进程信息获取 2.  CListCtrl的使用 ------------------------------------ ...

  5. 如何用js得到当前页面的url信息方法(JS获取当前网址信息)

    设置或获取对象指定的文件名或路径. alert(window.location.pathname) 设置或获取整个 URL 为字符串. alert(window.location.href); 设置或 ...

  6. 怎样用js得到当前页面的url信息方法(JS获取当前网址信息)

    设置或获取对象指定的文件名称或路径.window.location.pathname 设置或获取整个 URL 为字符串.window.location.href; 设置或获取与 URL 关联的端口号码 ...

  7. js获取当前页面url信息方法(JS获取当前网址信息)

    设置或获取对象指定的文件名或路径. alert(window.location.pathname) 设置或获取整个 URL 为字符串. alert(window.location.href); 设置或 ...

  8. 【转】百度API获取城市名地名(附源码)

    在做一个软件时,用到了定位功能.网上有很多关于google 的GPS定位,但网上关于google定位都没有用, 搜索下原因:(这里建议大家在中国就尽量不使用系统自带的定位) 因为Google的服务器不 ...

  9. HDFS源码文件过大,IDEA打开失败解决方法

    问题现象:hadoop 3.1.0源码文件ClientNamenodeProtocolProtos大小4M+,IDEA打开时加载失败,ClientNamenodeProtocolPB报错找不到类. - ...

随机推荐

  1. Python3 tkinter基础 Canvas create_polygon 画三角形

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. linux命令之crontab定时执行任务【转】

    本文转载自:https://www.cnblogs.com/coffy/p/5608095.html 一.crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护 ...

  3. 【做题】agc003E - Sequential operations on Sequence——经典结论

    题意:有一个序列,初始是从\(1\)到\(n\)的\(n\)个数.有\(q\)次操作,每次操作给出\(q_i\),把当前的序列重复无数遍,然后截取最前面的\(q_i\)个元素作为新序列.要求输出完成所 ...

  4. python 之 运算符

    Python 运算符   Python 运算符 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4和5被称为操作数,"+"号为运算 ...

  5. P2604 [ZJOI2010]网络扩容

    思路 简单的费用流问题,跑出第一问后在残量网络上加边求最小费用即可 代码 #include <cstdio> #include <algorithm> #include < ...

  6. MPU6050可以读取ID值,温度值和原始数据值为零问题解决

    MPU6050可以读取ID值是0x68,但是读取到的原始数据为零(下面虚拟示波器图中温度值是36.529是单位转换公式中的值被打印出来了,实际值也是零).经论坛搜寻,发现MPU6050出现问题的原因有 ...

  7. Markdown 指南

    Markdown 是一种轻量级的「标记语言」,使用用特殊的 Markdown 文档处理器将 Markdown 语法翻译成预设的文档格式.标题大小等,一般用于展示时输出的是 HTML.这个教程可以让使用 ...

  8. Entity Framework Core导航属性加载问题

    前言 今天下午在开发的时候发现EF Core实体模型中的导航属性为 null,经排查既不是没有加 virtual 关键字,也不是外键关系映射错误. 解决方法 通过查询官网文档,发现,原因在于EF Co ...

  9. 02:httpd-2.2基础配置

    ---恢复内容开始--- 9.日志设定 错误日志: ErrorLog logs/error_log //这里使用了相对路径,相对于/etc/httpd/路径 LogLevel warn  //定义日志 ...

  10. Navicat for MySQL用ssh功能连接远程数据库

    转载自:http://holy2010.blog.51cto.com/1086044/518431 实现用本地的ssh隧道起到加密功能 在windows平台上运行Navicat for MySQL(h ...