用百度地图api获取用户的当前位置只有edge位置比较准确 chrome fierfox 2345 360浏览器偏差啊太大是怎么回事
使用百度api获取当前地理位置然后解码获取 省 市 区 街道
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title></title>
<script src="http://code.jquery.com/jquery-3.0.0.min.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&s=1&ak=GXABhagkmUzDCtG2qdx5pyaujS6BREdu"></script>
</head>
<body>
<div>
<span id="load_geolocation">点击获取位置</span>
</div>
</body>
<script type="text/javascript">
$(function(){
$("#load_geolocation").text("正在获取位置......");
//创建百度地图控件
var geolocation = new BMap.Geolocation();
// 开启SDK辅助定位
geolocation.enableSDKLocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
//以指定的经度与纬度创建一个坐标点
var pt = new BMap.Point(r.point.lng,r.point.lat);
alert(r.point.lng);
alert(r.point.lat);
//创建一个地理位置解析器
var geoc = new BMap.Geocoder();
geoc.getLocation(pt, function(rs){//解析格式:城市,区县,街道
var addComp = rs.addressComponents;
$("#load_geolocation").text(addComp.province+","+ addComp.city + ", " + addComp.district + ", " + addComp.street);
});
}
else {
$("#load_geolocation").text('定位失败');
}
},{enableHighAccuracy: true})//指示浏览器获取高精度的位置,默认false
});
</script>
</html>