以上是最终效果图 下面开始代码分享

第一步 在index,html引入高德地图模块

 `    <!-- 高德地图 --><script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.1&key=58b4d21fc077537dda2dcbe756a1c9&plugin=AMap.Geocoder"></script>`

第二步 在Vue.config中配置

  configureWebpack: {externals: {AMap: 'AMap', // 高德地图配置AMapUI: 'AMapUI'}}

注意 配置完Vue.Config.js 记得 run dev
只要以上配置完成 在打开页面的时候就会自动引入高德地图了

第三步 在你页面需要显示地图的地方 创建地图显示容器

   <div id="container"><div @click="setCenter" class="center-icon"><img src="../assets/定位图标@2x.png" alt="" /></div></div>

第四步 初始化地图实例对象

      // 地图实例对象 (amap 为容器的id)this.amap = new window.AMap.Map('container', {resizeEnable: true,zoom: 15})// 注入插件(定位插件,地理编码插件)this.amap.plugin(['AMap.Geolocation', 'AMap.Geocoder'])// 定位this.currentPosition(this.amap)

第五步 定位当前位置

   // 没有传入坐标点,则定位到当前所在位置const geolocation = new window.AMap.Geolocation({enableHighAccuracy: true,timeout: 10000,zoomToAccuracy: true,buttonPosition: 'RB'})geolocation.getCurrentPosition((status, result) => {if (status === 'complete') {const points = [result.position.lng, result.position.lat]map.setCenter(points) // 设置中心点this.addMark(map, points) // 添加标记// 存下坐标与地址this.point = pointsthis.longitude = points[0]this.latitude = points[1]this.getAddress(points)} else {console.log('定位失败', result)}})

第六步 添加地图控件

 addMark (map, points) {const marker = new window.AMap.Marker({map: map,position: points,draggable: true, // 允许拖动cursor: 'move',raiseOnDrag: true})marker.on('dragend', e => {const position = marker.getPosition()// 存下坐标与地址this.point = [position.lng, position.lat]this.getAddress([position.lng, position.lat])})}

第七步 地址逆解析

    // 根据坐标返回地址(逆地理编码,获取详细地址)getAddress (points) {const geocoder = new window.AMap.Geocoder({radius: 1000})geocoder.getAddress(points, (status, result) => {if (status === 'complete' && result.regeocode) {this.address = result.regeocode.formattedAddress// console.log('当前经纬度:' + points)// console.log('当前详细地址:' + this.address)// 在这里请求周边数据点this.getOrundPosition(points[0], points[1])}})},

以上配置完成后 就会显示图一的效果了 如果大家只是想获取当前经纬度信息 可以参考下面代码

 // 获取经纬度信息getLocation () {const _this = thisconst AMap = window.AMapAMap.plugin('AMap.Geolocation', function () {var geolocation = new AMap.Geolocation({// 是否使用高精度定位,默认:trueenableHighAccuracy: true,// 设置定位超时时间,默认:无穷大timeout: 10000})geolocation.getCurrentPosition()AMap.event.addListener(geolocation, 'complete', onComplete)AMap.event.addListener(geolocation, 'error', onError)function onComplete (data) {console.log('定位成功纬度信息:', data.position.lat)console.log('定位成功经度信息:', data.position.lng)_this.latitude = data.position.lat_this.longitude = data.position.lng// 把经纬度信息保存到VUEx_this.$store.dispatch('saveLongLat', [data.position.lng, data.position.lat])_this.getmarketposition()}function onError (data) {// console.log('定位失败错误:', data)_this.getmarketposition()}})}

这里特别要注意一下 一定要使用ie浏览器才能定位!!!
好了,以上就是vue使用高德地图整个流程 本人分享出来是避免采坑 如有不懂的可以评论区留言 !

Vue Cli4 使用高德地图定位 获取当前经纬度信息以及周边定位相关推荐

  1. 高德地图API获取当前位置对应的周边信息

    一.前言 当前公司开发计划做一个打卡功能,获取用户信息地理信息后,提供列表给客户选择打卡地点(200米范围内).自己今天对三家地图开放者平台文档进行了查看比较(腾讯.百度.高德),目前实现的方法采用的 ...

  2. 高德地图准确获取当前位置信息

    代码示例 JavaScript mapObj = new AMap.Map('iCenter'); mapObj.plugin('AMap.Geolocation', function () {geo ...

  3. vue中基于高德地图,获取省级地图(以安徽为例)

    效果图展示 <template><div><div id="mapId" class="rescure-map"></ ...

  4. vue简单使用高德地图定位

    1.获取key 我们需要到高德开放平台生成key 我这里选的是web端,提交后会生成一个key值 2.安装vue-amap npm install vue-amap --save 3.在项目main. ...

  5. vue项目使用高德地图定位当前地址

    vue项目使用高德地图定位当前地址 一.在项目中安装vue-amap插件 二.页面代码 三.data数据 一.在项目中安装vue-amap插件 1.最终效果 2.安装命令 npm install vu ...

  6. 在Vue中使用高德地图

    在Vue中使用高德地图 一.如何在Vue中引入基础高德地图 1.步骤一:注册并登录高德地图开放平台,申请密钥 2.步骤二:安装高德地图加载器 3.封装一个自定义地图组件,并初始化地图 二.根据关键词搜 ...

  7. Vue中使用高德地图

    Vue中使用高德地图定位及poi搜索,以及其他插件的使用方法 1.第一步安装 npm install vue-amap --save 2.引入vue-amap main.js import Vue f ...

  8. vue项目使用高德地图

    vue项目使用高德地图-部分功能介绍 在此做个笔记,引入方式使用了高德2.0 loadsh的加载方式 1.引入高德地图方式-NPM npm i @amap/amap-jsapi-loader --sa ...

  9. 高德地图地位获取地址

    高德地图地位获取地址 高德地图开发平台地址:https://lbs.amap.com/ 1导入依赖库 implementation 'com.amap.api:location:4.4.0' 2权限 ...

最新文章

  1. 讨论MySQL丢失数据的几种情况
  2. 视频回顾丨带你逛腾讯全球数字生态大会「腾讯技术工程」展区
  3. Linux学习第五篇之文件处理命令touch、cat、tac、more、less、head、tail
  4. 网络配置辅导:多路由器如何使用多条ADSL线路
  5. 【优化充电】基于matlab蒙特卡洛算法求解电动汽车充电优化问题【含Matlab源码 1164期】
  6. 【图像边缘检测】基于matlab蚁群聚类图像边缘检测【含Matlab源码 728期】
  7. 识别视频文件夹,listview
  8. android 开源项目收集
  9. c语言 分数通分,如何用C语言,实现简单的分数化简
  10. no properties discovered to create BeanSerializer 问题解决
  11. 麻省理工学院(MIT)发明漏洞自动修复系统
  12. strack.js调摄像头人脸识别拍照
  13. 我们为何渐渐放弃了自己的梦想?
  14. firsthead学习笔记
  15. apk闪退_解决安卓手机闪退的通用办法!
  16. cortex a7 a53_金杯海星A7面包车报价最小商用车2.98万值得拥有
  17. 如何在不越狱的情况下,获取app中的所有常用文件和文件夹
  18. PPT设计制做关键提炼——Metro风格
  19. 流畅的python学习笔记
  20. 2019 面试准备 - 图片

热门文章

  1. Android 口令实现(自己复制,返回首页设置不显示)
  2. 蒙特卡罗方法和拉斯维加斯方法
  3. 教你用树莓派Python打造一个音乐播放器
  4. 微信小程序数据的接收详解
  5. 关于Java面向对象的理解
  6. 寻ta分析与网站内容
  7. 远程办公招聘平台汇总 | 三线程序员的福音
  8. 一文搞定Linux进程和线程(详细图解)
  9. pynput控制鼠标键盘
  10. AndroidFtp客户端(二)