突袭HTML5之JavascriptAPI扩展2—地理信息服务及地理位置API学习_html5教程技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了突袭HTML5之JavascriptAPI扩展2—地理信息服务及地理位置API学习_html5教程技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3453字,纯文字阅读大概需要5分钟。
内容图文
![突袭HTML5之JavascriptAPI扩展2—地理信息服务及地理位置API学习_html5教程技巧](/upload/InfoBanner/zyjiaocheng/391/c8657171688044e597237ccfde2b38d9.jpg)
隐私申明
在与远程Web服务器共享物理位置时,隐私是一个需要关注的问题。因此,地理位置API会要求用户先提供权限,然后Web应用程序才能访问位置信息。首次访问请求地理位置数据的网页时,浏览器将显示一个通知栏,提示提供对用户位置的访问权限。按照浏览器的提示,选择相关的授权即可。
如果用户未授予权限,则不会向 Web 应用程序提供位置信息。调用相关API不会触发成功回调。
检查浏览器的支持情况
地理位置API在主流的浏览器的最新版中都支持了,但是为了兼容老的浏览器,还是要检查一下。如果地理位置 API 不可用,则 window.navigator.geolocation 将为 null,如下所示:
function show_islocationenabled()
{
var str = "No, geolocation is not supported.";
if (window.navigator.geolocation) {
str = "Yes, geolocation is supported.";
}
alert( str );
}
Geolocation API基于navigator这一全局对象的一个新属性:navigator.geolocation,该对象提供了一些关于访问者的浏览器和系统的有用信息。Geolocation的信息可以通过许多手段获得:比如基站、web的数据库或是GPS等。使用不同的方式获取到的Geolocation信息精度也是不一样的,通常情况下,通过GPS获得的最为准确(移动平台上使用GPS最多,PC平台上基本都是靠网络数据)。偶然情况下,在一些位置上,你有可能不能获得明确的地理位置读数或是一点数据都接收不到。
定位当前位置
使用navigator.geolocation的getCurrentPosition()方法获取用户的当前位置,这个方法只获取一次位置的信息。当该方法被脚本调用时,方法以异步的方式来尝试获取宿主设备的当前位置。
方法签名:getCurrentPosition(geolocationSuccessCallback,[geolocationErrorCallback,geolocationOptions]);
1. geolocationSuccessCallback:获取当前位置成功后的回调(必需的)
2. geolocationErrorCallback. 有错误发生时使用的回调(可选的)
3. geolocationOptions. 地理位置选项(可选的)
处理位置信息
getCurrentPositon()方法获得当前位置成功后会将位置信息保存到一个Position对象中,然后把这个对象作为参数来执行geolocationSuccessCallback这一回调。在这个回调函数中,你可以任意处置这个对象中包含的信息。
Position对象有两个属性:timestamp和coords。timestamp属性表示地理位置数据的创建时间,coords属性表示地理位置信息,又包含七个属性:
. coords.latitude:估计纬度
. coords.longitude:估计经度
. coords.altitude:估计高度
. coords.accuracy:所提供的以米为单位的经度和纬度估计的精确度
. coords.altitudeAccuracy:所提供的以米为单位的高度估计的精确度
. coords.heading: 宿主设备当前移动的角度方向,相对于正北方向顺时针计算
. coords.speed:以米每秒为单位的设备的当前对地速度
一般的,这些属性中有三项是保证有的:coords.latitude、coords.longitude和coords.accuracy,其余的返回null;这取决于设备的能力和其所采用的后端定位服务器。而且,heading和speed属性可以基于用户之前的位置计算出来。
处理错误
执行getCurrentPositon()方法时如果有错误发生的话,则该方法传递一个PositionError对象给geolocationErrorCallback回调。
设置地理位置选项
你可以设置geolocationOptions的三个属性:
enableHighAccuracy:如果设备支持高精度的话,这个选项表示是否启用高精度。
timeout:查询超时时间
maximumAge: 缓存的位置最大的时间数,在这一时间段内缓存可被使用。
看下面完整的例子:
Click the button to get your position:
内容总结
以上是互联网集市为您收集整理的突袭HTML5之JavascriptAPI扩展2—地理信息服务及地理位置API学习_html5教程技巧全部内容,希望文章能够帮你解决突袭HTML5之JavascriptAPI扩展2—地理信息服务及地理位置API学习_html5教程技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。