利用HTML5定位功能,实现在百度地图上定位
admin
2023-02-10 18:20:03
0

                   利用HTML5定位功能,实现在百度地图上定位

代码如下:




    
    HTML5定位
    
  
  
    
    *{ margin: 0px; padding: 0px;}
  body{text-align: center;  height: 100%;overflow:hidden;}
  #allmap{ width: 100%;height: 100%; position: absolute;}
    


    
 $(function(){      if(supportsGeoLocation()){          alert("你的浏览器支持 GeoLocation.");      }else{          alert("不支持 GeoLocation.")      }   // 检测浏览器是否支持HTML5                function supportsGeoLocation(){                   return !!navigator.geolocation;               }     // 单次位置请求执行的函数                             function getLocation(){                   navigator.geolocation.getCurrentPosition(mapIt,locationError);                }   //定位成功时,执行的函数               function mapIt(position){                  var lon = position.coords.longitude;                    var lat = position.coords.latitude;                    // alert("您位置的经度是:"+lon+" 纬度是:"+lat);                 var map = new BMap.Map("allmap");                 var point = new BMap.Point(""+lon+"",""+lat+"");                 map.centerAndZoom(point,19);                 var gc = new BMap.Geocoder();                       translateCallback = function (point){                           var marker = new BMap.Marker(point);                           map.addOverlay(marker);                           map.setCenter(point);                           gc.getLocation(point, function(rs){                                 var addComp = rs.addressComponents;                                 if(addComp.province!==addComp.city){                                   var sContent =                                   "
你当前的位置是:" +                                    ""+addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber+"

" +                                    "
";}                                 else{                                   var sContent =                                   "
你当前的位置是:" +                                    ""+ addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber+"

" +                                    "
";                                 }                                 var infoWindow = new BMap.InfoWindow(sContent);                                 map.openInfoWindow(infoWindow,point);                           });                        }                                       BMap.Convertor.translate(point,0,translateCallback);              }   // 定位失败时,执行的函数                function locationError(error)               {               switch(error.code)                 {                 case error.PERMISSION_DENIED:                   alert("User denied the request for Geolocation.");                   break;                 case error.POSITION_UNAVAILABLE:                    alert("Location information is unavailable.");                   break;                 case error.TIMEOUT:                    alert("The request to get user location timed out.");                   break;                 case error.UNKNOWN_ERROR:                    alert("An unknown error occurred.");                   break;                 }               }   // 页面加载时执行getLocation函数   window.onload = getLocation;           })

 测试浏览器:ie11定位成功率100%,Safari定位成功率97%其它浏览器暂时不行,HTML5获取不了地理位置信息。


相关内容

热门资讯

国务院成立广西六蓝水库溃坝灾害... 7月6日,广西南宁横州市六蓝水库发生溃坝,造成重大人员伤亡。根据国家有关法律法规规定,国务院成立调查...
倚美搞事,菲律宾政府连“为奴”... 南海的风浪,很大一部分是菲律宾政府自己搅起来的。近年来,菲政府在仁爱礁、黄岩岛等地小动作频频,不仅频...
雨花台区企业摘得国家科学技术进... 晨报讯(南京晨报/爱南京记者 陈彦)记者从南京市雨花台区获悉,在新近揭晓的2025年度国家科学技术奖...
美国公布新关税措施,日本、澳大... 据法新社、澳大利亚广播公司(ABC)报道,针对美国将于美东时间24日以所谓“强迫劳动”为名对数十个国...
济南大数据集团激活数据要素潜能... 走进“泉数汇·数港”线下体验空间,健康画像、求职背调、“泉涌”工作站等数据产品一字排开,来访者可以像...
太保寿险河南分公司举办员工家庭... 5月22日,中国太保寿险河南分公司在郑州举办绩优干部员工家庭开放日活动,邀请员工家属走进企业,参观办...
“展现了推动人工智能普惠向善发... 7月17日至20日,2026世界人工智能大会暨人工智能全球治理高级别会议在上海举行,习近平主席出席开...
多地官宣结婚生娃发钱,最高20... 近日,广东佛山顺德陈村镇大都村通过股东会议表决,将生育结婚奖励政策纳入《佛山市顺德区陈村镇大都村股份...
蒋万安、卢秀燕、谢国梁开记者会... 海峡导报综合报道 民进党当局核准台湾“中联”19批油品即日起重新上架,台“食药署”23日首度公布共计...
西门子洗衣机不工作了什么原因 西门子洗衣机不工作了什么原因1、可能是使用时间太久了,导致洗衣机内部零件出现了问题。2、可能是长时间...