我调用接口只能定位到市一级,这是大体过程,希望有人解惑??????var geolocation = new BMap.Geolocation(); //创建定位实例
geolocation.getCurrentPosition(showLocation, {
enableHighAccuracy: true
}); //enableHighAccuracy 要求浏览器获取最佳结果
//处理定位后的信息
function showLocation(r) { if(this.getStatus() == BMAP_STATUS_SUCCESS) { //定位成功
//新建中心点 并将地图中心移动过去
jingdu = r.longitude;
weidu = r.latitude; 
var gpsPoint = new BMap.Point(jingdu, weidu);
// BMap.Convertor.translate(gpsPoint, 0, initMap); 
var convertor = new BMap.Convertor();//将GPS坐标转换成百度地图坐标
var pointArr = [];
pointArr.push(gpsPoint);
convertor.translate(pointArr, 1, 5, initMap); //调用initMap()将坐标在地图上显示出来
} else {
mui.alert('failed' + this.getStatus()); //定位失败
}
}
function initMap(data) {
console.log(data.points[0].longitude);
console.log(data.points[0].latitude);
map.setCenter(data.points[0]);
gc.getLocation(data.points[0], function(rs) {
var addComp = rs.addressComponents;
var mapAddress = addComp.province + addComp.city + addComp.district +
addComp.street + addComp.streetNumber;
Address = mapAddress;//得到可读的位置信息
});
//新建标注
var mk = new BMap.Marker(data.points[0]);
mk.disableDragging(); // 不可拖拽
map.addOverlay(mk);
}

解决方案 »

  1.   

    已解决,http://m.blog.csdn.net/qq_32635069/article/details/77801988
      

  2.   

    苹果是无法使用H5原生的GPS的(WGS84),苹果终端直接使用百度API的浏览器定位很准确= =。但是安卓使用这个的话,真的是很狗血(不准确),用了H5就获取原生GPS(WGS84)的方法,转了之后发现,和用百度API的定位位置是一样的= =所以问题应该是安卓机GPS传的GPS格式有问题吧 = =,反正我还没解决...