北京尚网汇智科技有限公司
您当前所在的位置:尚网汇智网站建设 > 安卓开发技术 > 文章详细
网站建设知识
NEWS
联系我们
  • 网站建设服务电话
  • 400-883-2887
  • 公司地址:北京市昌平科技园区创意大厦2-806
  • 服务项目
    高端网站建设
    移动/微信网站建设
    手机APP开发
    OA/ERP业务系统开发
    网站维护托管
    CMS模板制作

    html5怎么实现调用gps获取地理位置具体代码

    发布时间:2016-01-07 13:28:02
    HTML5 Geolocation API (地理位置应用程序接口)

    目前PC浏览器支持情况:

    Firefox 3.5+
    Chrome 5.0+
    Safari 5.0+
    Opera 10.60+
    Internet Explorer 9.0+

    手机支持情况:

    Android 2.0+
    iPhone 3.0+
    Opera Mobile 10.1+
    Symbian (S60 3rd & 5th generation)
    Blackberry OS 6
    Maemo

    检测浏览器是否支持:

     if (navigator.geolocation) {
        //console.log("浏览器支持!");
     }
    else {
        // console.log("浏览器不支持!");

     }


    navigator.geolocation用于获取基于浏览器的当前用户地理位置,提供了3个方法:

    void getCurrentPosition(onSuccess,onError,options);//获取用户当前位置
    int watchCurrentPosition(onSuccess,onError,options);//持续获取当前用户位置
    void clearWatch(watchId);//watchId 为watchCurrentPosition返回的值 //取消监控

    复制代码

    onSuccess方法成功时调用的(必选),onError方法失败是调用的(可选),options其他参数(可选)

    options:
    options = {
         enableHighAccuracy,   //boolean 是否要求高精度的地理信息
         timeout,         //表示等待响应的最大时间,默认是0毫秒,表示无穷时间
         maximumAge        /应用程序的缓存时间
    }              
    onsuccess方法中会返回position对象,通过这个对象可以获取地理位置的相关信息

    复制代码
    <!DOCTYPE html>  
    <html>  
    <head>  
        <meta charset="utf-8"/>  
        <title>基于浏览器的HTML5查找地理位置</title> 
        <!-- 百度API -->
     <script src="http://api.map.baidu.com/api?v=1.2" type="text/javascript"></script>  
      <script>
               function getLocation(){
                   var options={
                       enableHighAccuracy:true, 
                       maximumAge:1000
                   }
                   if(navigator.geolocation){
                       //浏览器支持geolocation
                       navigator.geolocation.getCurrentPosition(onSuccess,onError,options);
                       
                   }else{
                       //浏览器不支持geolocation
                   }
               }

               //成功时
               function onSuccess(position){
                   //返回用户位置
                   //经度
                   var longitude =position.coords.longitude;
                   //纬度
                   var latitude = position.coords.latitude;

                   //使用百度地图API
                   //创建地图实例  
                   var map =new BMap.Map("container");

                   //创建一个坐标
                   var point =new BMap.Point(longitude,latitude);
                   //地图初始化,设置中心点坐标和地图级别  
                   map.centerAndZoom(point,15);
               }
      
               //失败时
               function onError(error){
                   switch(error.code){
                       case 1:
                       alert("位置服务被拒绝");
                       break;

                       case 2:
                       alert("暂时获取不到位置信息");
                       break;

                       case 3:
                       alert("获取信息超时");
                       break;

                       case 4:
                        alert("未知错误");
                       break;
                   }
               }
               window.onload=getLocation;
       </script>
    </head>
    <body>
       <div id="container" style="width:600px;height:600px"></div>
    </body>
    </html>
    复制代码
     
    获取当前位置加上偏移量会准一点 

    经度+经度校正值: 0.008774687519; 
    纬度+纬度校正值: 0.00374531687912;

    文章出自:北京网站建设公司-尚网汇智 https://www.net2006.com 如转载请注明出处!
    咨询服务热线
    400-883-2887
    客服电话:400-883-2887  传真:010-51654992  E-mail:support@net2006.com
    本站设计已受版权保护,任何公司及个人不得复制,违者将依法追究责任,特此声明。

    Copyright © 2005-2018 北京尚网汇智科技有限公司 版权所有 京ICP备13031271号
    查找内容: