资源描述
广州大学华软软件学院,Geolocation地理定位,主要内容,概述 浏览器支持情况 如何使用Geolocation API 首次获取当前位置 监视移动设备的位置变化 使用phonegap创建一个地理定位的App,1、概述,地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用。 Geolocation API(地理位置应用程序接口)提供了一个可以准确知道浏览器用户当前位置的方法。且目前看来浏览器的支持情况还算不错(因为新版本的IE支持了该API),这使得在不久之后就可以使用这一浏览器内置的API了。该API接口提供的用户地理位置信息还算蛮详细的,经纬度啊,海拔啊,精确度,移动速度啊都是可以获取的。,1、概述,在访问位置信息前,浏览器都会询问用户是否共享其位置信息,以 Chrome 浏览器为例,如果您允许 Chrome 浏览器与网站共享您的位置,Chrome 浏览器会向 Google 位置服务发送本地网络信息,估计您所在的位置。然后,浏览器会与请求使用您位置的网站共享您的位置。,1、概述,获取地理位置的方式,2、,例:ex8_1.html,主要内容,概述 浏览器支持情况 如何使用Geolocation API 首次获取当前位置 监视移动设备的位置变化 使用phonegap创建一个地理定位的App,3、如何使用Geolocation API,Geolocation API存在于navigator对象中,只包含3个方法: 1、getCurrentPosition 2、watchPosition 3、clearWatch,getCurrentPosition、watchPosition的参数说明,navigator.geolocation.getCurrentPosition(success_callback, error_callback, geolocation选项); 第一个参数是用户允许浏览器共享geolocation成功后的回调方法 第二个参数是用获取地理位置信息失败的处理方法,传入错误对象,包含code、message两个属性,getCurrentPosition、watchPosition的参数说明,第三个参数都是geolocation选项,所有的geolocation选项都是可选的,它包含的属性如下: enableHighAccuracy(Boolean型,默认为false,是否尝试更精确地读取纬度和经度,移动设备上,这可能要使用手机上的GPS,这会消耗移动设备更多的电量) timeout(单位为毫秒,默认值为0,在放弃并触发处理程序之前,可以等待的时间-用户选择期间是不计时的) maximumAge(单位为毫秒,默认值为0。用来告诉浏览器是否使用最近缓存的位置数据,如果在maximumAge内有一个请求,将会返回它,而不请求新位置。maximumAge如果为Infinity,则总是使用一个缓存的位置,如果为0则必须在每次请求时查找一个新位置),单次定位请求函数:void getCurrentPosition(in PositionCallback successCallBack,in optional PositionErrorCallback errorCallback, in optional PositionOptios options) 这个函数是通过navigator.geolocation对象来调用的,所以在脚本中需要先取得此对象。这个函数接受一个必选参数和两个可选参数。 successCallBack:为浏览器指明位置数据可用时应调用的函数,即收到实际位置信息并进行处理的地方。 errorCallback:出错处理 options:用来调整HTML5 Geolocation服务的数据收集方式。,getCurrentPosition,getCurrentPosition函数成功后回调获取用户位置数据position,它包含两个属性:coords、timestamp。 coords属性有7个值,包含上面用到的纬度、经度。 纬度(latitude) accuracy 经度(longitude) 准确角 altitude 海拔高度 altitudeAcuracy 海拔高度的精确度 heading 行进方向 speed 地面的速度,例:ex8_2.html,各浏览器是不是允许跟踪地理位置的配置总结,geolocation地理定位,在获得用户许可后,可以获取用户信息,再借助百度地图或谷歌地图的API等可以实现相关功能。但是由于不同浏览器的支持情况不同,以及对于保存用户选择的是否允许跟踪地理位置的设置不同,可能会使得我们在正常使用或是开发调试过程中感到不太方便。 本地预览浏览器会直接拒绝定位。,没有用,http:/172.16.28.177/ex8_2.html,例 ex8_3.html,主要内容,概述 浏览器支持情况 如何使用Geolocation API 首次获取当前位置 监视移动设备的位置变化 使用phonegap创建一个地理定位的App,计算移动距离,例 ex8_4,http:/172.16.28.177/odometer.html,使用phonegap创建一个地理定位的App,使用phonegap创建一个地理定位的App,保存路径 工程名字 在appstore上的名字,找到保存路径里面的index.html文件,打开,编写代码,在phonegap desktop 中开始项目,单击,启动成功,在手机上打开 PhoneGap Developer App 输入电脑的IP,下课了,
展开阅读全文