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和基站信息结合起来进行定位


代码实现:

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

 

posted @ 2016-07-17 18:11  冯小漂儿  阅读(279)  评论(0编辑  收藏  举报