《网页设计语言》-第12章 获取地理位置信息_第1页
《网页设计语言》-第12章 获取地理位置信息_第2页
《网页设计语言》-第12章 获取地理位置信息_第3页
《网页设计语言》-第12章 获取地理位置信息_第4页
《网页设计语言》-第12章 获取地理位置信息_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12.1GeolocationAPI概述 12.2position对象 12.3在Google地图上显示“我在这里”12.4小结 本章主要内容2026/3/9112.1.1getCurrentPosition 12.1.2持续监视当前地理位置信息12.1.3停止获取当前用户的地理位置信息 12.1GeolocationAPI概述 2026/3/92获取地理位置根据手机位置发现用户所在位置的技术IP、MAC地址、wifi热点、GPS坐标判断

2026/3/93HTML5中,为window.navigator对象新增了一个geolocation属性,使用GeolocationAPI来对该属性进行访问Window.navigator对象的geolocation属性有三个方法:getCurrentPosition()watchCurrentPosition()clearWatch()2026/3/94getCurrentPosition(onSuccess,onError,options)第一个参数:获取位置信息成功时的回调函数第二个参数:获取位置信息失败时的回调函数第三个参数:为一些可选属性的列表Navigation.geolocation.getCurrentPosition(function(position){})12.1.1getCurrentPosition()2026/3/95Code属性有以下属性值PERMISSION_DENIED:不共享位置信息、或拒绝获取位置信息POSITION_AVAILABLE(2):网络不可用、或无法连到获取位置信息的卫星TIMEOUT(3):网络可用,但超时UNKNOW_ERROR(3):未知错误2026/3/96Message属性message属性是一个字符串,该字符串中包含了错误信息,这个错误信息在开发和调试时很有用。但有些浏览器不支持message属性。在getCurrentPosition方法中使用第二个参数来捕获错误信息的具体方法如下:2026/3/97navigator.geolocation.getCurrentPosition(function(position)){ varcoords=position.coords; showMap(coords.latitude,coords.longitude,coords.accuracy);},//捕获错误信息function(error){ varerrorTypes={1:’位置服务被拒绝’,2:’获取不到位置信息’,3:’获取信息超时’}; alert(errorTypes[error.code]+”:,不能确定你的当前地理位置”);} };2026/3/98getCurrentPosition方法中的第三个参数可以省略,它是一些可选属性的列表,这些可选属性如下:enableHighAccuracy(布尔型,默认false):是否要求高精度地理位置信息。timeout(单位为毫秒,默认为infinity/0):对地理位置信息获取做一个超时限制。maximumAge:120000(1分钟是60000)。如果11点整得时候获取过一次地理位置信息,11:01的时候,再次调用navigator.geolocation.getCurrentPosition重新获取地理位置信息,则返回的依然为11:00时的数据(因为设置的缓存有效时间为2分钟)。超过这个时间后缓存的地理位置信息被废弃,尝试重新获取地理位置信息。如果该值被指定为0,则无条件重新获取新的地理位置信息。2026/3/99navigator.geolocation.getCurrentPosition( function(position)){ //获取地理位置信息成功时所作的处理

}, function(error){ //获取地理位置信息失败时所作的处理

}, //以下为可选属性

{ //设置缓存有效时间为2分钟

maximumAge:60*1000*2, //5秒钟内获取到地理位置信息、否则返回错误

timeout:5000 });2026/3/910使用watchCurrentPosition方法来持续获取当前地理位置信息,它会定期地自动获取,该方法定义如下: intwatchCurrentPosition(onSuccess,onError,options);

该方法三个参数的说明与getCurrentPosition方法相同。该方法返回一个数字,这个数字的使用方法与JavaScript脚本中setInterval方法返回参数的使用方法类似,可以被clearWatch方法使用,停止对当前地理位置信息的监视。12.1.2持续监视当前地理位置信息2026/3/911用于停止对当前用户的地理位置信息的监视,方法定义如下:voidclearWatch(watchId);该方法的参数为调用watchCurrentPosition方法监视地理位置信息时的返回参数。12.1.3停止获取当前用户的地理位置信息2026/3/912如果获取地理位置信息成功,则可以在获取成功的回调函数中通过访问position属性来得到下面的地理位置信息。Position对象具有如下属性:latitude:当前地理位置的纬度longitude:当前地理位置的经度度altitude:当前地理位置的海拔(不能获取时为null)accuracy:获取到的纬度或经度的精度(以米为单位)altitudeAccuracy:获取到的海拔的精度(以米为单位)heading:设备的前进方向。用面朝正北方向的顺时针旋转角度来表示(不能获取时为null)。speed:设备的前进速度(以米/秒为单位,不能获取时为null)timestamp:获取地理位置信息时的时间12.2position对象2026/3/91312.3在Google地图上显示“我在这里”2026/3/9142026/3/915本章讨论了HTML5Geolocation,讲述了HTML5Geolocation的位置信息——纬度、经度和其他特性,以及获取它们的途径

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论