我呼叫介面只能定位到市一級,這是大體程序,希望有人解惑??????
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);
}
uj5u.com熱心網友回復:
已解決,http://m.blog.csdn.net/qq_32635069/article/details/77801988uj5u.com熱心網友回復:
安卓機的定位,和蘋果機不一樣的。uj5u.com熱心網友回復:
蘋果是無法使用H5原生的GPS的(WGS84),蘋果終端直接使用百度API的瀏覽器定位很準確= =。但是安卓使用這個的話,真的是很狗血(不準確),用了H5就獲取原生GPS(WGS84)的方法,轉了之后發現,和用百度API的定位位置是一樣的= =所以問題應該是安卓機GPS傳的GPS格式有問題吧 = =,反正我還沒解決...轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/97033.html
標籤:Android
