如何在vue项目中使用高德地图_vue项目中使用高德地图的api实现城市的定位

本文详述了在Vue项目中如何利用高德地图API实现城市定位功能。首先,创建高德地图应用并获取API key,然后在index.html引入相关代码并进行封装。接着,在组件中调用定位方法,通过修改代码实现位置显示。最后,启动项目,成功显示当前所在城市的位置信息。
摘要由CSDN通过智能技术生成

今天女朋友突发奇想,让我帮她做一个可以对所在城市进行自动定位的一个小功能。我二话没说,打开电脑就是一顿操作,操作记录如下(贼拉拉详细,无论小白还是大白,都可看得懂):

3c5fd6a0a98614c67946d6b615662e3a.png
使用Vue-CLI构建一个Vue项目。在src目录下的views目录里创建一个City.vue(名字自取)
eec53bcc841fe3b03efbf8e19de5821e.png
在src目录下的router目录下的index.js文件中增加如图所示内容(path值可自取,component值则要对应第2步创建的文件夹名)

如下图:

be8afe44dee7452f54456bf0d6f01686.png
打开浏览器,搜索“高德api”,点击进入
f66034f7b1db7ef704c45caa7118f5ed.png
如未注册,点击右上方进行注册,登录后点击头像旁边的控制台
1505ac6f8762d334fdd5f23ef0beb563.png
  • 此时,展开左侧菜单栏中的“应用管理”,点击“我的应用”
7827506589ab0ae9e580bc0688288502.png
点击右上方“创建新应用”

例:

27d93190b5ec1e990c2459464d5c7c19.png
  • 此时,在刚才创建的应用左侧点击“添加”
465238eb7f710a049780fe8c2a7ec32a.png
输入“Key名称”,选择对应的“服务平台”,勾选条款,点击“提交”

例:

447178e3b30964ba982a4f644b9cf92d.png
  • 此时会产生一串key值,留存备用
ab25a813906327b9ea380611dff87b52.png
  • 回到“首页”,在搜索框输入“citySearch”
7442ccd8102db63dc55b6980ff867dd4.png
  • 点击“示例”
faf0c939c7dbd2a953b16bb7870cf0f2.png
  • 复制图中所示代码
76f663bc78dd1b0bae5b999e02a1dbcc.png
  • 将以上代码粘贴到项目中public目录下的index.html文件中,并且把代码中“您申请的key值”改为上面第10步的那个key值
9d51ef9b7e5a230715dd26010d92ef22.png

封装这个定位的方法:
在src目录下,创建一个目录,比如叫“util”。再在util目录下创建一个文件,比如叫“location.js”,在此文件中写入以下大框内的内容(椭圆框中的都删掉):

0bb7e1a74e64cd02b40fee15c4e6dc98.png
因为我的初衷就只是为了看自己的位置,所以此处用一个回调函数把异步的结果传回来
export const getLocation=(box,callback)=>{    var map = new AMap.Map(box, {        resizeEnable: true,        center: [116.397428, 39.90923],        zoom: 13    });    //实例化城市查询类    var citysearch = new AMap.CitySearch();    //自动获取用户IP,返回当前城市    citysearch.getLocalCity(function(status, result) {        if (status === 'complete' && result.info === 'OK') {            if (result && result.city && result.bounds) {                var cityinfo = result.city;                var citybounds = result.bounds;                callback(cityinfo)                //地图显示当前城市                map.setBounds(citybounds);            }        } else {            callback(result.info)        }    });}
  • 还记得第2步创建的City.vue文件吗,在此文件中写入以下代码(因为大部分地图显示的时候,都不显示“市”这个字,所以把它替换掉)。
  • 使用npm run serve命令,重启服务器,在网址栏输入http://localhost:8080/city,此时浏览器控制台里就可以看到目前所在的位置
c15d1d75433419a0473dee554114bca8.png
如果想在页面上看到位置图形的话,只需要把17步中
  • 中的v-show="false"删除,加个样式即可,如下:

页面效果:

f605c6d107dc2cef592663927dfc9f1e.png
操作结束,女朋友很高兴,奖励我最爱的大kiss!
c9199724347a0b6d7e8e277f0619816f.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值