<template>
<div
:id="id"
:style="{width:'0px',height:'0px'}"
class="m-map"/>
</template>
<script>
mounted(){
// 这里onmaploaded,异步加载高德地图的回调会去执行这个方法
window.onmaploaded = () =>{
let map = new AMap.Map('all-map', {
center: [116.46,39.92]
})
self.map = map
window.AMap.plugin('AMap.Geolocation', function () {
var geolocation = new AMap.Geolocation({
enableHighAccuracy: true, //是否使用高精度定位,默认:true
timeout: 10000, //超过10秒后停止定位,默认:5s
buttonPosition: 'RB', //定位按钮的停靠位置
buttonOffset: new AMap.Pixel(10, 20), //定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
zoomToAccuracy: true, //定位成功后是否自动调整地图视野到定位点
});
geolocation.getCurrentPosition(function (status, result) {
console.log(status)
if (status == 'complete') {
console.log('高德: ', `${result.position.lat},${result.position.lng}`)
self.lng = result.position.lng;
self.lat = result.position.lat;
sessionStorage.setItem('latitude',result.position.lat)
sessionStorage.setItem('longitude',result.position.lng)
// 获取经纬度后,重新请求一次数据,得到距离该店xxx米的数据
self.getData()
self.$nextTick()
} else {
console.error('高德失败')
console.log(result)
// saveLocation(0, 0)
}
});
self.geolocation = geolocation
});
self.map = map
}
const url = `https://webapi.amap.com/maps?v=1.4.15&key=3eb1143818def654f7e083fffe9961de&callback=onmaploaded`
let jsapi = document.createElement('script')
jsapi.charset = 'utf-8'
jsapi.src = url
document.head.appendChild(jsapi)
}
</script>
用script的方式异步引入高德地图
最新推荐文章于 2023-08-16 08:51:00 发布