文档章节

第十一章 获取地理位置信息-《HTML5+CSS3权威指南》

产品哥
 产品哥
发布于 2011/12/29 11:28
字数 889
阅读 917
收藏 3

本章主要是介绍geolocation API来获取用户的地理位置信息。附带页面上使用Google地图的基本方法(这我就不讲了,google有很好的API使用说明书)。

Geolocation是window.navigator对象新增加的属性。Geolocation API存在三个方法。

1.获取地理位置

2.持续监视当前地理位置的信息

3.停止获取用户的地理位置信息

获取当前地理位置信息

1.可是使用getCurrentPosition方法来获取用户地理位置信息,使用方法是:

void getCurrentPosition(onSuccess, onError,options);

onSuccess是返回获取地理位置成功时做什么;onError是返回获取地理位置失败时;oprtions是一些可选属性(书上这么说的,我知道的还有一个超时的属性)。
/* 一个完整的获取地理位置信息代码段 */
navigator.geolocation.getCurrentPosition(
        /*成功获取片断*/
	function(position){
		var latitude = position.coords.latitude;//获取当前位置的纬度
		var longitude = position.coords.longitude;//获取当前位置的精度
		document.getElementById('map').value = '纬度:'+latitude+'精度:'+longitude;
	},
    /*获取地质位置错误片断*/
	function(error){
		var errorType={1:'位置服务器拒绝',2:'获取不到位置',3:'获取信息超时'};
                   alert(errorType[error.code]+":获取地理位置错误,请检查您的网络是否通畅!");
	},
     /* 超时处理*/
	{
     /*设置缓存有效时间是2分钟,单位是毫秒*/
		maximumAge:60*1000*2,
     /*5秒内没有回获取信息视为超时*/
		timeout:5000
	}
);

如果获取地理位置成功的话,position有这样几个属性:

latitude 当前地理位置的纬度

longitude 当前地理位置的精度

altitude 当前海拔高度  不能获取时为null

accuracy 获取的纬度或经度的精度(以米为单位)

altitudeAccurancy 获取海拔高度的精度(以米为单位)

heading 设备的前进方向。用面朝正北方的顺时针旋转角度来表示(不能获取时为null)

speed 设备的前进速度(单位:米/秒)

timestamp 获取地理时间

如果获取地理位置失败的话,Error对象有以下属性:

code属性有三个值(1.用户拒绝了位置服务 2.获取不到位置信息 3.获取信息超时错误)

(还没弄明白,后面是书的原文)message属性:包含了一个字符串,在该字符串中包含了错误信息

再来看看最后一个可以省略参数包含那些属性

enableHighAccuracy 要求高精度的地理位置,这个参数在很多设备上没有用,所以大多数把设为默认

maximumAge 对地理位置的获取操作做一个超时限制(单位毫秒)

持续监视当前地理位置信息

使用watchPosition方法来持续获取用户信息当前地理位置,它会定期自动获取,该方法定义如下:

int watchCurrentPosition(pnSuccess,onError,options);

该方法三个参数的说明和使用方法和getCurrentPosition方法一样。返回一个数字,这个数字的使用方法与javasctipt脚本中setInterval方法的返回值参数类似。

停止获取用户的地理位置信息

可以使用

vodi clearWatch(watchId);

watchId是调用上面的getCurrentPosition方法监视时返回的参数。

© 著作权归作者所有

产品哥
粉丝 80
博文 167
码字总数 191806
作品 1
杭州
CTO(技术副总裁)
私信 提问
《HTML+CSS3权威指南》笔记摘要 - 目录

主要是想借助这个平台让大家给我学习途中的错误和不好的地方给与纠正。 我会努力最短时间内完成更新,如果发现有错别字或者Code错误,请指出。 信息:建议使用Opera10以上或者Google浏览器测...

产品哥
2011/12/02
0
1
《HTTP权威指南》 - 知识结构总结 - (更新第七章)

最近在读《HTTP权威指南》这本书,我会把每章的知识点总结出来,方便自己查找,也可以给大家一个参考,大概4到5天会更新一章。 :) Git@OSC中有所有图片和源文件,点击图片可以查看大图 Gi...

王昊然
2014/03/14
0
0
【每周一本书】之《大数据核心技术与实用算法》

大数据技术与应用展现出锐不可当的强大生命力,科学界与企业界寄予无比的厚望。大数据成为继20世纪末21世纪初互联网蓬勃发展以来的又一轮IT工业革命 编辑 | abby 官网 | www.datayuan.cn 微信...

ympzuelx3aiap7q
2017/12/19
0
0
Apache Shiro 安全框架 指南 1.0 发布

开源电子书《跟我学Apache Shiro安全框架》 Apache Shiro是一个简单强大的Java安全框架,为了让更多人了解并使用该框架,利用业余时间写了此教程,希望能帮助使用该框架的朋友。因为时间仓促...

闲大赋
2014/04/20
5.6K
33
HTML5与CSS3权威指南范例及代码共22章

最近在群里看到很多网友找关于HTML5+CSS3的资料,今天整理出来与大家分享,一共有22章,里面全部都是例子。 下载地址: http://www.jq-school.com/MD.aspx?id=381 图片预览:...

邓剑彬
2012/11/30
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

ZStack实践汇 | 高效开发测试打造产品化私有云

作者:许佳珺 前言 随着越来越多的企业将云计算产品应用到基础设施及其核心业务中,如何提高和保证软件交付质量、减少软件开发迭代周期、加速软件发布频率成为所有云厂商面临的关键问题。 根...

ZStack社区版
20分钟前
3
0
IPv4如何转换为IPv6?

导读 ipv6已经逐渐在应用,现在已经有很多的运营商支持ipv6,前天我们也发布了如何让电脑使用ipv6地址?有很多朋友在问?ipv6有什么作用,它的表示方式是什么,今天我们来一起来详细了解下ipv...

问题终结者
49分钟前
3
0
SpringBoot2.0高级案例(05):整合 Swagger2 ,构建接口管理界面

一、Swagger2简介 1、Swagger2优点 整合到Spring Boot中,构建强大RESTful API文档。省去接口文档管理工作,修改代码,自动更新,Swagger2也提供了强大的页面测试功能来调试RESTful API。 2、...

知了一笑
今天
6
0
关于观察者模式总结

观察者模式(发布订阅模式):在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖他的对象都会收到通知,并自动更新。 使用场景:当一个对象状态改变同时需要改变其他对象,且...

cherryboy
今天
1
0
Gradle Sync太慢?你需要使用阿里云仓库服务的代理仓库地址代替jcenter()、maven

在天朝使用jcenter、mavenCentral及google三个远程仓库,Gradle Sync会很慢,goole仓库甚至需要科学上网才能访问。为了加快Gradle Sync速度,一招教你优先用 阿里云仓库服务 的仓库作为下载源...

丁佳辉
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部