HTML5的Geolocation地理位置定位API使用教程
在手持设备如此普遍的今天,位置信息对于应用程序来讲是极其重要的,打车应用可以根据用户的位置信息呼叫附近的车辆,团购软件可以根据当前的位置推荐附近的影院和美食,地图应用可以根据用户的位置快速规划到目的地的路线,可以说位置信息对于移动应用是不可或缺的。 基本用法 图中我们可以看到,Geolocation类有三个常用的方法,他们分别是: 1.getCurrentPosition: 用于获取当前的位置信息
JavaScript Code复制内容到剪贴板
navigator.geolocation.getCurrentPosition(success[, error[, options]]); 第一个参数用于指定一个成功后的处理函数,第二参数用于指定一个错误处理函数,第三个用于给函数提供一些可选的配置项。现在我们就来调用这个函数:
JavaScript Code复制内容到剪贴板
navigator.geolocation.getCurrentPosition(function(position) { //success handler code goes here console.log(position); }, function(error) { //error handler code goes here console.log(error); }, {//options enableHighAccuracy: true, timeout: 5000, maximumAge: 0 }); 一旦这段代码运行起来,浏览器窗口就会弹出一个确认框,请求用户进行位置定位的授权: 如果我们点击Allow允许该站点进行位置定位,该函数就开始从设备获取位置信息,并触发成功的回调函数,并将位置信息对象传入回调函数中,上面的代码中我们在控制台打印了position,控制台信息如下: 可以看到,position实际上是一个Geoposition对象的实例,其中包括coords和timestamp两个属性,后者是一个时间戳,记录获取到位置时的时间,coords里面包含了很多位置有关的信息: accuracy: 位置的精确度范围,单位为米 可以看到error参数是一个PositionError实例,包含一个错误码code和message,分别表示错误的类型和错误提示消息,其中错误码有以下几种: 1: PERMISSION_DENIED - 用户拒绝了授权请求,授权失败 enableHighAccuracy: 默认值为false,如果指定为true,则表示在设备支持的情况下,尽可能获取高精准度的数据,但这会在时间和电量方面存在一定的消耗
JavaScript Code复制内容到剪贴板
watchId = navigator.geolocation.watchPosition(success[, error[, options]]); (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |