第一、注册高德地图账号,获取key(注意Key必须为 Web端(JS API)这个类型)
第二、页面中引入js
第三、js代码
function maps() {
//加载地图,调用浏览器定位服务
let map = new AMap.Map('map', {
resizeEnable: true
});
AMap.plugin('AMap.Geolocation', function () {
let geolocation = new AMap.Geolocation({
enableHighAccuracy: true, //是否使用高精度定位,默认:true
timeout: 10000, //超过10秒后停止定位,默认:无穷大
buttonOffset: new AMap.Pixel(10, 20), //定位按钮与设置的停靠位置的偏移量,默认Pixel(10,20)
zoomToAccuracy: true, //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认false
buttonPosition: 'RB'
});
map.addControl(geolocation);
geolocation.getCurrentPosition();
AMap.event.addListener(geolocation, 'complete', onComplete); //返回定位信息
AMap.event.addListener(geolocation, 'error', onError); //返回定位出错信息
});
}
//解析定位结果
function onComplete(data) {
lnglatXY = [data.position.getLng(), data.position.getLat()]; //已知点坐标
regeocoder(lnglatXY);
}
//解析定位错误信息
function onError(data) { alert('定位失败') }
function regeocoder(loc) {
//逆地理编码
var geocoder = new AMap.Geocoder({
radius: 1000,
extensions: "all"
});
geocoder.getAddress(loc, function (status, result) {
if (status === 'complete' && result.info === 'OK') {
geocoder_CallBack(result);
} else {
alert('获取定位失败')
}
});
}
function geocoder_CallBack(data) {
//获取地址描述
var address = data.regeocode.formattedAddress;
}