zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    114. Flatten Binary Tree to Linked List
    odoo docker环境下将日志存储在数据库中ir_logging
    odoo 日志切割存储,日志存储到数据库中
    odoo 通过nginx反向代理后获取真实IP地址
    html样式超出长度部分使用省略号显示
    vim 查找字串所在的位置
    系统重启 后 Docker服务及容器自动启动设置
    字串格式化换format使用
    markdown 测试代码高亮
    协程与线程的简单区分
  • 原文地址:https://www.cnblogs.com/fengxiaopiaoer/p/5679095.html
Copyright © 2011-2022 走看看