高德地图获取经纬度并逆定位获取地理位置名称(原生)

  • 注册账号并申请key

高德开发平台

以下代码引入了jquery 

<!--引入高德地图定位能力-->
<script type="text/javascript"
        src="https://webapi.amap.com/maps?v=1.3&key=这里用你自己申请的key&plugin=AMap.Autocomplete,AMap.PlaceSearch,AMap.Geocoder"></script>

<!--引入jquery-->
<script type="text/javascript" src="plugin/jquery-3.4.1.min.js"></script>
var map, geolocation;
// 获取经纬度
function data() {
    console.log("自动获取定位")
    map = new AMap.Map('container');
    map.plugin('AMap.Geolocation', function () {
        geolocation = new AMap.Geolocation({
            enableHighAccuracy: true,//是否使用高精度定位,默认:true
            timeout: 10000,          //超过10秒后停止定位,默认:无穷大
            maximumAge: 0,           //定位结果缓存0毫秒,默认:0
            GeoLocationFirst: true      //功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
        });
        map.addControl(geolocation);
        geolocation.getCurrentPosition();
        AMap.event.addListener(geolocation, 'complete', onComplete); //返回定位信息
        AMap.event.addListener(geolocation, 'error', onError); //返回定位出错信息
    });
}

var myplace = ''; //我的位置
var mycity = ''; //我所在的城市
//解析定位结果
function onComplete(data) {
    var str = ['定位成功'];
    // $(".zqxf01").text(data.position.getLng() + "aaa" + data.position.getLat())
    str.push('经度:' + data.position.getLng());
    str.push('纬度:' + data.position.getLat());
    getPositionByLonLats2(data.position.getLng(), data.position.getLat());
}

function getPositionByLonLats2(lat, lng) {
    var location = lat + "," + lng;
    $.get({
        url: "https://restapi.amap.com/v3/geocode/regeo?parameters",
        dataType: "json",
        data: {key: "这里用你自己申请的key", location: location},
        success: function (data) {
            console.log('aaa' + data)
            //alert(JSON.stringify(data))
            var message = JSON.stringify(data);
            var d = JSON.parse(message);
            if (d.status == 1) {
                //高德文档地址:https://lbs.amap.com/api/webservice/guide/api/georegeo
                //district:区
                //存储省级信息
                var address = d.regeocode.addressComponent.province//district;
                //存储当前选的地址(自动或者手动)
                localStorage.setItem("province", address);
                selectShop();
                //自动定位存储定位信息
                sessionStorage.setItem("locationAddressSession", address);
                $("#locationCity").html(address);
            } else {
                $("#locationCity").html("上海");//默认上海
            }
            $('.toast').css({display: 'none'})
        }
    })
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值