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

第一步 在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. 高级程序设计 c语言 在线作业,[北京师范大学]19秋《高级程序设计(C)》离线作业(资料)...
  2. vs2017开发Node.js控制台程序
  3. 最长递增子序列问题的求解
  4. Delphi2010使用TImage打开jpeg图片错误的处理
  5. python基础常用语句-Python基本语句
  6. Python之日志处理(logging模块)
  7. Hibernate之深入Hibernate的映射文件
  8. asp.net c# 打开新页面或页面跳转
  9. [js] 说说你对JSBridge的理解
  10. 核fisher matlab,使用Fisher法matlab结合P值?
  11. wordpress插件_哪个是最好的WordPress画廊插件? (性能比较)
  12. P1957 口算练习题[c++版]
  13. 4.7开发者日:创业工场麦刚认为创业者活下去最重要
  14. android windows 分区大小,真正的安卓Windows双系统,RemixOS Windows共存系统安装+附带ROOT+大分区...
  15. Shell程序退出状态码的命令详解
  16. 数据集处理(三)——打乱数据集
  17. autoDL租用服务器运行程序全过程
  18. C语言---队列(详解)---数据结构
  19. 【学习笔记】AD智能PDF导出(装配文件)
  20. oracle+函数怎么写if,Oracle NULLIF函数

热门文章

  1. GLSL-TBN矩阵
  2. 瓶子机器人diy制作大全_创意手工——废弃瓶子制作蓝色机器人,需要技巧
  3. Win+TexLive2020+TexStudio安装过程详解附ElsevierLatex模板下载并使用
  4. 苏州新导RFID仓库管理系统解决方案,黄河水电与新能源的仓库管理
  5. 如何优雅地焊接第一块PCB
  6. 【2022-05-26】小红书蒲公英x-s x-t
  7. C++新特性之五:标准库中的正则表达式扩充
  8. 十沣科技船舶运动仿真 助力我国船舶研发设计提效降本
  9. 合并或注销重复领英帐号,利用领英高效开发客户技巧。置顶收藏
  10. 【数据库】设有一个数据库中有三个关系: 字生关系S(S#,SNAME,AGE,SEX) 课程关系C(C#,CNAME,TEACHER) 学习关系SC(s#,C#,GRADE)