H5根据ip地址自动获取经纬度

引入百度地图api

    <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=AHllh2Yq8bDOUi56jXkf9vXvtEmj46jR"></script>

js代码

 // 实时获取经纬度:bug根据IP获取,所以地址要有IP
    var addr = JSON.parse(localStorage.getItem("addr"));
    if (!addr) {
        let point = new BMap.Point();
        var geolocation = new BMap.Geolocation();
        geolocation.getCurrentPosition((r) => {
			// r 包含当前所在地的所有信息,包括经纬度,省份城市名
            console.log(r)
            $('#allAddress').text(r.address.city);
            if (r.point) {
                console.log(r.point);
                localStorage.setItem('addr', JSON.stringify({ lng: r.point.lng, lat: r.point.lat }))
            }
        });

    }

获取经纬度,传递给接口,封装接口调用

// 实时获取经纬度:bug根据IP获取,所以地址要有IP
    var addr = JSON.parse(localStorage.getItem("addr"));
    if (addr) {
        console.log(addr);
        var lng = addr.lng;
        var lat = addr.lat;
        console.log(lng);
        // 调用接口
        getDate(lng, lat);
    } else {
        let point = new BMap.Point();
        var geolocation = new BMap.Geolocation();
        geolocation.getCurrentPosition((r) => {
            console.log(r);
            localStorage.setItem('addr', JSON.stringify({ lng: r.point.lng, lat: r.point.lat }))
            var lng = r.point.lng;
            var lat = r.point.lat;
			 // 调用接口
            getDate(lng, lat);
        });
    }

猜你喜欢

转载自blog.csdn.net/weixin_43848576/article/details/88912724