我调用接口只能定位到市一级,这是大体过程,希望有人解惑??????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);
}
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);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货