html 高德 获取地理位置,高德地图获取地理位置经纬度并将经维度转化为详细地址信息...

浏览器定位

经纬度 116.396574, 39.992706 的地理编码结果:

/***************************************

由于Chrome、IOS10等已不再支持非安全域的浏览器定位请求,为保证定位成功率和精度,请尽快升级您的站点到HTTPS。

***************************************/

var map, geolocation;

//加载地图,调用浏览器定位服务

map = new AMap.Map(‘container‘, {

resizeEnable: true

});

map.plugin(‘AMap.Geolocation‘, function() {

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) {

var str=[‘定位成功‘];

str.push(‘经度:‘ + data.position.getLng());

str.push(‘纬度:‘ + data.position.getLat());

lnglatXY = [data.position.getLng(),data.position.getLat()]; //已知点坐标

regeocoder(lnglatXY);

if(data.accuracy){

str.push(‘精度:‘ + data.accuracy + ‘ 米‘);

}//如为IP精确定位结果则没有精度信息

str.push(‘是否经过偏移:‘ + (data.isConverted ? ‘是‘ : ‘否‘));

document.getElementById(‘tip‘).innerHTML = str.join(‘
‘);

}

//解析定位错误信息

function onError(data) {

document.getElementById(‘tip‘).innerHTML = ‘定位失败‘;

}

function regeocoder(loc) { //逆地理编码

var geocoder = new AMap.Geocoder({

radius: 1000,

extensions: "all"

});

geocoder.getAddress(loc, function(status, result) {

if (status === ‘complete‘ && result.info === ‘OK‘) {

console.dir(result);

geocoder_CallBack(result);

}

});

var marker = new AMap.Marker({ //加点

map: map,

position: loc

});

map.setFitView();

}

function geocoder_CallBack(data) {

var address = data.regeocode.formattedAddress; //返回地址描述

document.getElementById("result").innerHTML = address;

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值