html5地理位置定位功能小析

Geolocationd 基本原理
1.GPS
    GPS基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。适用于具备GPS功能的设备
(1)优点:在空旷地区比较准确,覆盖面比较广
(2)缺点:需要比较长时间定位,比较耗电池,在室内不太好,需要GPS设备支持
2.WIFI
地理定位服务提供者会在全世界范围内去收集WIFI热点位置信息,然后用户的设备只要能支持WIFI就能获取到周围WIFI热点的位位置和信号强弱信息,然后把这些信息发给提供者,就能得到自己的位置。
(1)优点:比较准确,适用于室内环境,相应速度快。
(2)缺点:在WiFi热点少的地方不适用
3.IP定位
通过你设备的物理地址所备案的地址信息来定位,但这种方式精确度不高,特别是用代理来上网的情况下。一般作为GPS和WIFI都不支持的情况下大致模糊匹配,比如各大团购网站监测用户所在城市。
4.手机基站
和WIFI原理类似,Apple的设备就是把WIFI和基站信息结合起来进行定位

代码实现:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
//成功时获取位置信息
function success(position) {
alert(position.coords.latitude);
alert(position.coords.longitude); //错误时获取有关的信息
function error(errorCode) {
alert(errorCode.code + '--' + errorCode.message);
// 错误代码及错误的具体信息
} var options = {};
//options中的一些参数
//options是一个对象,可以设置超时时间,缓存时间等,如下:
//enableHighAccuracy表示是否允许使用高精度,但这个参数在很多设备上设置了没用,设备综合考虑电量,地理情况等,很多时候都是默认由设备自身来调整
//timeout指定超时时间
//maximumAge是指缓存的时间
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error, options)
} else {
alert('你浏览器out啦!')
}
}
// getCurrentPosition(success,error,options)是geolocation的一个方法,此外还有两个方法:
//1.watchPosition(success,error,options)表示重复获取地理位置,相当于将getCurrentPosition这个方法利用setinterval不断执行,其他用法和参数使用一样
//2.clearWatch()用来清除前一次获取的位置信息。
//这两个方法配合使用,能够实现一些很棒的功能,比如导航等!
</script>
</body>
</html>
上一篇:nginx php rewrite配置


下一篇:补鞋匠---Cobbler 服务器自动搭建