获取自己的定位(GPS)然后转换成百度地图坐标

xiaoxiao2021-02-27  278

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> body, html, #allmap { width: 100%; height: 100%; overflow: hidden; margin: 0; font-family: "微软雅黑"; } </style> <script src="http://developer.baidu.com/map/jsdemo/demo/convertor.js" type="text/javascript" charset="utf-8"></script> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=gxuERCpEe4V2hEuDQHqaEqMS"></script> <!--<script type="text/javascript" src="http://developer.baidu.com/map/jsdemo/demo/convertor.js"></script> --> <title>浏览器定位</title> </head> <body> <div id="allmap"></div> </body> </html> <script type="text/javascript"> // 百度地图API功能 // 获取自己的位置gps定位 // var map = new BMap.Map("allmap"); // var point = new BMap.Point(116.331398,39.897445); // map.centerAndZoom(point,12); // var geolocation = new BMap.Geolocation(); // geolocation.getCurrentPosition(function(r){ // if(this.getStatus() == BMAP_STATUS_SUCCESS){ // var mk = new BMap.Marker(r.point); // map.addOverlay(mk); // map.panTo(r.point); // alert('您的位置:'+r.point.lng+','+r.point.lat); // console.log('您的位置:'+r.point.lng+','+r.point.lat) // } // else { // alert('failed'+this.getStatus()); // } // },{enableHighAccuracy: true}) //关于状态码 //BMAP_STATUS_SUCCESS 检索成功。对应数值“0”。 //BMAP_STATUS_CITY_LIST 城市列表。对应数值“1”。 //BMAP_STATUS_UNKNOWN_LOCATION 位置结果未知。对应数值“2”。 //BMAP_STATUS_UNKNOWN_ROUTE 导航结果未知。对应数值“3”。 //BMAP_STATUS_INVALID_KEY 非法密钥。对应数值“4”。 //BMAP_STATUS_INVALID_REQUEST 非法请求。对应数值“5”。 //BMAP_STATUS_PERMISSION_DENIED 没有权限。对应数值“6”。(自 1.1 新增) //BMAP_STATUS_SERVICE_UNAVAILABLE 服务不可用。对应数值“7”。(自 1.1 新增) //BMAP_STATUS_TIMEOUT 超时。对应数值“8”。(自 1.1 新增) // 百度地图API功能 // 由上面获取的gps坐标 转换成百度地图坐标 //GPS坐标 var x = 112.37884; var y = 34.646767; var ggPoint = new BMap.Point(x,y); //地图初始化 // var bm = new BMap.Map("allmap"); // bm.centerAndZoom(ggPoint, 15); // bm.addControl(new BMap.NavigationControl()); //添加gps marker和label // var markergg = new BMap.Marker(ggPoint); // bm.addOverlay(markergg); //添加GPS marker // var labelgg = new BMap.Label("未转换的GPS坐标(错误)",{offset:new BMap.Size(20,-10)}); // markergg.setLabel(labelgg); //添加GPS label //坐标转换完之后的回调函数 translateCallback = function (data){ if(data.status === 0) { // var marker = new BMap.Marker(data.points[0]); console.log(data.points[0]) var geoc = new BMap.Geocoder(); var pt = new BMap.Point(data.points[0].lng,data.points[0].lat); geoc.getLocation(pt, function(rs){ var addComp = rs.addressComponents; alert(addComp.province + " " + addComp.city + " " + addComp.district + " " + addComp.street + " " + addComp.streetNumber); }); // bm.addOverlay(marker); // var label = new BMap.Label("转换后的百度坐标(正确)",{offset:new BMap.Size(20,-10)}); // marker.setLabel(label); //添加百度label // bm.setCenter(data.points[0]); } } setTimeout(function(){ var con = new BMap.Convertor(); var poi = []; poi.push(ggPoint); con.translate(poi,1,5,translateCallback); },1000); </script>
转载请注明原文地址: https://www.6miu.com/read-3217.html

最新回复(0)