vue3中高德地图定位问题Geolocation permission denied

本来项目里是地图初始化的时候精准定位当前位置getCurrentPosition,但是一直返回错误码定位Geolocation permission denied,联系了高德客服说浏览器禁止了非安全域的定位请求,需要升级站点到HTTPS。

修改域名有点麻烦,然后退而求其次用到了获取当前城市中心点位置;

先用AMap.CitySearch插件获取城市信息拿到城市的city名称;

再用行政区查询服务(AMap.DistrictSearch)提供行政区信息的查询,使用该服务可以获取到、中心点,拿到中心点的经纬度然后标记在地图上。

具体代码如下(前面的插件挂载没体现,具体可参照官方文档):

state.citySearch.getLocalCity(function (status, result) {

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

                   var citybounds = result.bounds; //为了定位到所在城市

                   state.map.setBounds(citybounds);  //地图显示当前城市

                   // 根据行政区信息获取当前城市中心点

                   state.districtSearch.search(result.city, function(status, result) {

                      state.mapForm.longitude = result.districtList[0].center.lng;

                      state.mapForm.latitude = result.districtList[0].center.lat;

                      addMarker();

                   })

                }

            })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值