高德地图逆地理编码Geocoder的getlocation获取不到位置信息

问题:原生定位接口定位失败,则status返回error事件或回调error信息,获取不到位置信息

产生原因:逆编码方法使用不了原因是使用的高德地图的应用方向web服务,而Geocoder属于web端

var geocoder = new AMap.Geocoder({})
var address = that.userAddr.adder
geocoder.getLocation(address, function (status, result) { 
   if (status === 'complete' && result.geocodes.length) {}
}

解决方案:将高德地图应用服务更改为web端,同时更换高德地图的key值,并在配合秘钥使用即可

需要配置安全秘钥,自2021年12月02升级,所申请的key必须和安全密钥 securityJsCode一起使用

// script标签后添加
window._AMapSecurityConfig = {
  securityJsCode: '5b9f6ed5a7abec5d284fd3459495239a'
}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue3中使用高德地图地理编码,可以按照以下步骤进行: 1. 在项目中引入高德地图的JS API,可以在index.html中添加以下代码: ```html <script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script> ``` 2. 在Vue3的组件中,可以使用`mounted`钩子函数来初始化地图,并获取当前位置的经纬度: ```javascript mounted() { var map = new AMap.Map('map-container', { zoom: 13 }); var geolocation = new AMap.Geolocation({ enableHighAccuracy: true, // 是否使用高精度定位,默认为false timeout: 10000, // 超过10秒后停止定位,默认:无穷大 }); geolocation.getCurrentPosition(function(status, result) { if (status == 'complete') { var lng = result.position.lng; var lat = result.position.lat; // 在这里可以进行地理编码 } else { console.log('定位失败'); } }); } ``` 3. 获取到当前位置的经纬度后,可以使用`AMap.Geocoder`类进行地理编码,从而获取当前位置的地址信息: ```javascript var geocoder = new AMap.Geocoder({ city: "全国", // 城市,默认:“全国” radius: 1000 // 范围,默认:500 }); geocoder.getAddress([lng, lat], function(status, result) { if (status == 'complete' && result.regeocode) { var address = result.regeocode.formattedAddress; console.log(address); } else { console.log('地理编码失败'); } }); ``` 在上述代码中,`[lng, lat]`表示当前位置的经纬度数组,`result.regeocode.formattedAddress`表示地理编码获取到的地址信息

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值