Geolocation API
Geolocation API——地理定位
navigator.geolocation
- getCurrentPosition() 触发请求用户共享地理定位信息的对话框
- 接收3个参数:
- 1.成功回调函数
- 会接收到一个Position对象参数,该对象有两个属性:
- coords(对象)包含下列与位置相关信息:
- latitude (最常用)以十进制度数表示的纬度
- longtitude (最常用)以十进制数表示的经度
- accuracy 经、纬度坐标的精度,以m为单位
- 部分浏览器还提供如下属性:
- altitude 以m为单位的海拔高度,无相关数据则值为null
- altitudeAccuracy 海拔高度的精度,以m为单位
- heading 指南针的方向,0°表示正北,值为NaN表示没有检测到数据
- speed 速度m/s,无相关数据则值为null
- timestamp
- 2.可选的失败回调函数
- 接收1个参数,该对象有两个属性:
- message 保存文本细腻下,解释出错原因
- code 保存一个数值,表示错误类型:
- 用户拒绝共享(1)
- 位置无效(2)
- 超时(3)
- 3.可选的选项参数
- 用于设定信息的类型,可设置选项有3个:
- enableHighAccuracy 布尔值,表示必须尽可能使用最准确的位置信息
- timeout 以ms表示的等待位置信息的最长时间
- maximumAge 表示上一次取得的坐标信息的有效时间(ms),如果时间到则重新取得新坐标信息
// 在地图上绘制用户的位置
navigator.geolocation.getCurrentPosition(function(position){ // 1.成功回调函数
drawMapCenteredAt(position.coords.latitude, positions.coords.longtitude);
}, function(error){ // 2.可选的失败回调函数
// 实际开发中大多数Web应用只会将错误消息保存到日志文件中,而不一定会因此修改用户界面
console.log("Error code: " + error.code);
console.log("Error message: " + error.message);
}, { // 3.可选的选项参数
enableHighAccuracy: true, // 除非确实需要非常精确的信息,否则建议保持false(默认值),电量消耗性能消耗
timeout: 5000,
maximumAge: 25000 // 如果不需要频繁更新用户位置信息,可以设为Infinity,保持使用上一次的坐标信息
});
watchPosition
watchPosition()方法,跟踪用户的位置,它接收的参数与getCurrentPosition()完全相同
它与定时调用getCurrentPosition()效果相同。
第一次调用watchPosition()后会取得当前位置,执行成功回调或错误回调,然后函数等待系统发出位置已改变的信号(不会自己轮询位置)
调用watchPosition()会返回一个数值标识符用于跟踪监控的操作。基于这个返回值可以随时取消监控操作,只要将其传递给clearWatch()方法即可(与使用setTimeout和clearTimeout类似):
var watchId = navigator.geolocation.watchPosition(function(position){
drawMapCenteredAt(position.coords.latitude, positions.coords.longtitude);
}, function(error){
console.log("Error code: " + error.code);
console.log("Error message: " + error.message);
});
clearWatch(watchId);
Geolocation API的更多相关文章
- HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)
1.Web Storage HTML5除了Canvas元素之外,还有一个非常重要的功能那就是客户端本地保存数据的Web Storage功能. 以前都是用cookies保存用户名等简单信息. 但是c ...
- Geolocation API JavaScript访问用户的当前位置信息
Geolocation API在浏览器中的实现是navigator.geolocation对象,常用的有以下方法. 1.第一个方法是getCurrentPosition() 调用这个方法就会触发请求用 ...
- Geolocation API 原理及方法
使用IP地址:基于Web的数据库:无线网络连接定位:三角测量:GPS技术:来测量经度和纬度.(综合了所有技术)地理定位的精确度,有很多方法可以定位用户的地理位置,并且每种方法都有不同的精度.桌面浏览器 ...
- html5 geolocation API
清单 1. 检查浏览器支持性if (navigator.geolocation) 清单 2. 单次定位请求 API void getCurrentPosition(updateLocation, op ...
- HTML5 Geolocation API工作原理[转载]
大家都知道,HTML5 Geolocation 可以使用 IP 地址.基于 Web 的数据库.无线网络连接和三角测量或 GPS 技术来确定经度和纬度. 问题: 在一个基于地理位置服务的个人业余项目(小 ...
- HTML5 Geolocation API地理定位整理(二)
Geolocation 实例demo 1.使用watchPosition()监听客户端位置 var watchOne=null; if (navigator.geolocation) { //watc ...
- HTML5 Geolocation API地理定位整理(一)
HTML5 Geolocation API 用于获得用户的地理位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的. 浏览器支持 Internet Explorer 9+, ...
- HTML5地理定位-Geolocation API
HTML5提供了一组Geolocation API,来自navigator定位对象的子对象,获取用户的地理位置信息Geolocation API使用方法:1.判断是否支持 navigator.geol ...
- 如何获取用户的地理位置-浏览器地理位置(Geolocation)API 简介
如何获取用户的地理位置-浏览器地理位置(Geolocation)API 简介 一.总结 一句话总结:Geolocation API(地理位置应用程序接口)提供了一个可以准确知道浏览器用户当前位置的方法 ...
随机推荐
- python学习笔记14-函数
使用关键字def来创建函数 注意缩进 函数命名规则: 1.必须以下划线或者字母开头 2.区分大小写 3.不能是保留字 调用函数一定记得加括号 def print_info(name,age) pri ...
- Mysql数据优化--DBA梳理珍藏篇
1. 优化SQL 1) 通过show status了解各种sql的执行频率 show status like 'Com_%' 了解 Com_select,Com_insert 的 ...
- [Leetcode]931.下降路径最小和
题目链接 这一题目首先需要弄懂题目的意思,下降路径最小和指的是在方阵中可以从上往下行走,走过后获得的值最小,方向可以是走左下,右下,直下. 题目和传统的动态规划一样,把边界的值先初始化,然后通过状态转 ...
- 【sping揭秘】11、Java 平台上的AOP实现机制
动态代理 Jdk1.3只有引入的动态代理机制,可以再运行期间,为相应的接口(必须得有接口)动态生成对应的代理对象 基于以上问题,我们可以将横切关注点逻辑封装到动态代理的invocationhandle ...
- macbook 安装oracle RAC
http://blog.itpub.net/29047826/viewspace-1268923/ http://blog.itpub.net/24930246/viewspace-1426856/
- Git for Windows之使用SSH协议开通公钥免密登陆功能
1.删除Https的通信方式,建立SSH的通信方式 (1).查看当前的通信方式 当前是使用Https的方式与远程仓库进行通信 (2).删除HTTPS的通信方式 ok,HTTPS通信方式已删除 (3). ...
- Flyweight享元模式(结构型模式)
1.面向对象的缺点 虽然OOP能很好的解决系统抽象的问题,并且在大多数的情况下,也不会损失系统的性能.但是在某些特殊的业务下,由于对象的数量太多,采用面向对象会给系统带来难以承受的内存开销.示例代码如 ...
- 微信小程序交流群,欢迎加入,其中微信小程序开发群、Jenkins开发群是有问必答群
微信小程序开发,请加群511389428,511389428 有问必答群:React开发,请加群523838207:523838207Jenkins开发,请加群155799363,155799363 ...
- 在Android中调用KSOAP2库访问webservice服务出现的服务端返回AnyType{}
最近在做毕业设计的时候,涉及到了安卓端访问web service服务端数据库,并返回一个值,当我把web service测试通过后,想写一个简单的安卓测试程序,来实现服务端数据库访问,通过web se ...
- koa-router post请求接收的参数为空
注:koa-router路由和koa-bodyparser中间件 post请求中参数为空. 页面代码 <!DOCTYPE html> <html> <head> ...