Vue-amap 实现获取定位功能

  • 注册账号并申请key

高德开发平台

  • 引入

public目录下index.html中通过src引入插件

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=xxxxx"></script>
  • 使用
let AMap = window.AMap
AMap.plugin('AMap.Geolocation', function() {
   var geolocation = new AMap.Geolocation({
   // 是否使用高精度定位,默认:true
   enableHighAccuracy: true,
   // 设置定位超时时间,默认:无穷大
   timeout: 10000,
   // 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20)
   buttonOffset: new AMap.Pixel(10, 20),
   //  定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
   zoomToAccuracy: true,
   panToLocation: true,
   //  定位按钮的排放位置,  RB表示右下
       buttonPosition: 'RB'
   })

   geolocation.getCurrentPosition()
   AMap.event.addListener(geolocation,'complete',onComplete)
   AMap.event.addListener(geolocation, 'error', onError)

   function onComplete(data) {
       // data是具体的定位信息
       console.log(data)
       if (data.formattedAddress) {
           console.log(data.formattedAddress)
       } else {
         console.log('获取定位失败')
       }
   }
   function onError(data) {
       // 定位出错
       console.log('获取定位失败')
  }
})
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你使用的是 vue-amap SDK,那么可以通过以下步骤添加定位按钮: 1. 在 Vue 组件的 `mounted` 钩子函数中,调用 `this.$amap.service('AMap.Geolocation')` 创建定位服务对象。 2. 调用定位服务对象的 `getCurrentPosition` 方法获取当前位置,并将 `showButton` 参数设置为 `true` 打开定位按钮。 下面是一个示例代码: ```javascript mounted() { // 创建定位服务对象 this.geolocation = this.$amap.service('AMap.Geolocation', {}); // 获取当前位置,并打开定位按钮 this.geolocation.getCurrentPosition((status, result) => { if (status === 'complete') { this.$amap.plugin('AMap.Geolocation', () => { const geolocation = new AMap.Geolocation({ enableHighAccuracy: true, // 是否使用高精度定位,默认为 true showButton: true, // 是否显示定位按钮,默认为 false buttonPosition: 'LB', // 定位按钮的位置,可以设置 'LT'、'LB'、'RT'、'RB',默认为 'LB' buttonOffset: new AMap.Pixel(10, 20), // 定位按钮距离地图边缘的偏移量,默认为 AMap.Pixel(10, 20) zoomToAccuracy: true, // 定位成功后是否自动调整地图视野到定位点,默认为 true }); this.$map.addControl(geolocation); }); } }); }, ``` 在上面的代码中,我们首先创建了定位服务对象 `this.geolocation`,然后在 `getCurrentPosition` 方法中获取当前位置,并调用 `this.$amap.plugin` 方法添加定位控件,并将 `showButton` 参数设置为 `true` 打开定位按钮。 注意:为了使用 `this.$amap.plugin` 方法添加定位控件,需要先在 Vue 组件的 `mounted` 钩子函数中调用 `this.$amap.plugin('AMap.Geolocation')` 加载定位插件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值