用script的方式异步引入高德地图

<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>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值