html网页 js获取当前地理位置

通过当前html获取当前地址,借助高德地图实现https://lbs.amap.com,效果图

开箱即用

两张标记点的图

核心代码

   var marker, map = new AMap.Map('container', {
        resizeEnable: true
    });


    AMap.plugin('AMap.Geolocation', function () {
        var geolocation = new AMap.Geolocation({
            enableHighAccuracy: true,//是否使用高精度定位,默认:true
            timeout: 20000,          //超过10秒后停止定位,默认:5s
            buttonPosition: 'RB',    //定位按钮的停靠位置
            buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
            zoomToAccuracy: true,   //定位成功后是否自动调整地图视野到定位点
            showCircle: true,//是否显示定位精度圈
        });
        map.addControl(geolocation);
        geolocation.getCurrentPosition(function (status, result) {
            if (status === 'complete') {
                onComplete(result)
            } else {
                onError(result)
            }
        });
    });

    //解析定位结果
    function onComplete(data) {
        console.log('定位成功')
        var str = [];
        console.log(data)
        console.log('定位结果:' + data.position);
        console.log('定位类别:' + data.location_type);
        if (data.accuracy) {
            console.log('精度:' + data.accuracy + ' 米');
        }//如为IP精确定位结果则没有精度信息
        console.log('是否经过偏移:' + (data.isConverted ? '是' : '否'));

        document.getElementById("current").innerText = data.formattedAddress
        marker_t(data.position)
        // marker.setAnimation('AMAP_ANIMATION_BOUNCE');
    }
    //解析定位错误信息
    function onError(data) {
        console.log('定位失败')
        console.log('失败原因排查信息:' + data.message);
    }
// 高德地图查询周边
    function aMapSearchNearBy(centerPoint, city) {
        AMap.service(["AMap.PlaceSearch"], function () {
            var placeSearch = new AMap.PlaceSearch({
                pageSize: 50,    // 每页10条
                pageIndex: 1,    // 获取第一页
                // city: city       // 指定城市名(如果你获取不到城市名称,这个参数也可以不传,注释掉)
                children: 1,
                type: "汽车服务|汽车销售|汽车维修|摩托车服务|餐饮服务|购物服务|生活服务|体育休闲服务|医疗保健服务|住宿服务|风景名胜|商务住宅|政府机构及社会团体|科教文化服务|交通设施服务|金融保险服务|公司企业|道路附属设施|地名地址信息|公共设施"

            });


            // 第一个参数是关键字,这里传入的空表示不需要根据关键字过滤
            // 第二个参数是经纬度,数组类型
            // 第三个参数是半径,周边的范围
            // 第四个参数为回调函数
            placeSearch.searchNearBy('', centerPoint, 2000, function (status, result) {
                console.log(result.info)
                if (result.info === 'OK') {
                    console.log(result)
                    locationList = result.poiList.pois; // 周边地标建筑列表
                    $("#poiList").empty()
                    if (locationList && locationList.length > 0)
                        $("#current").text(getFormatAddr(locationList[0]))


                    for (let i = 0; i < locationList.length; i++) {
                        var item = "<li onclick='selected_lc(" + i + ")'>"
                        //  item += "<img class='left_t' src='../portal/images/location_top_sm.png' alt=''/>"
                        item += "<p class='addr_name'>" + locationList[i].name + "</p>"
                        item += "<p class='all_addr'>" + locationList[i].pname + locationList[i].cityname + locationList[i].adname + locationList[i].address + "</p>"
                        item += " </li>"
                        // alert(item)
                        $("#poiList").append(item)
                    }
                    //document.getElementById("poiList").innerHTML=str

                    // 生成地址列表html          createLocationHtml(locationList);
                } else {
                    console.log('获取位置信息失败!');
                }
            });
        });
    }

完整代码:https://download.csdn.net/download/qq_41389354/13732676

代码出现任何问题请联系我QQ:1603565290,浏览器接入互联网而且必须允许获取位置信息,

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java劝退师、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值