使用了https 报错 Get geolocation timeout.Get ipLocation failed.
报错是定位超时,由于JSAPI 使用的是浏览器提供的定位服务,所以定位的准确度和成功率都会对浏览器有很大的依赖。由于Chrome在国内没有提供服务,因此使用Chrome定位服务的浏览器,比如:Chrome、火狐、安卓原生WebView等环境的原生定位通常都会定位失败;
建议更换下浏览器测试,推荐使用Edge 浏览器
不要怀疑自己 换浏览器就可以解决 Chrome有百分之5的失败率我就是
可以在失败的时候用百度地图再去定位一次
openAMapLocation () {
//加载地图,调用浏览器定位服务
let map = new AMap.Map('map_div', {
// resizeEnable: true, //是否监控地图容器尺寸变化
// center: [lng, lat] //初始化地图中心点
})
map.plugin('AMap.Geolocation', () => {
let geolocation = new AMap.Geolocation({})
geolocation.getCurrentPosition((status, result) => {
if (status == 'complete') {
// 定位成功
} else {
console.log('高德定位失败:' + result.message)
this.openBMapLocation(result.message)
}
})
})
},
// 百度地图api
openBMapLocation (message) {
var geolocation = new BMapGL.Geolocation()
geolocation.getCurrentPosition((r) => {
if (r != null) {
// 定位成功
} else {
Toast( '百度定位失败:' + r )
}
})
},