vue 使用高德地图进入页面获取用户位置

本文介绍如何在Vue应用中利用高德地图API获取用户当前位置,包括创建高德地图API key,安装依赖,引入自定义JS文件,解决定位权限问题以及将经纬度转换为实际地址的方法。
摘要由CSDN通过智能技术生成

需求:当用户进入程序页面获取用户当前位置
1.创建高德地图的key值
在这里插入图片描述
2.安装依赖

npm install vue-amap --save

3.新建一个amp.js

export default function MapLoader () {   // <-- 原作者这里使用的是module.exports
    return new Promise((resolve, reject) => {
      if (window.AMap) {
        resolve(window.AMap)
      } else {
        var script = document.createElement('script')
        script.type = 'text/javascript'
        script.async = true
        script.src = 'http://webapi.amap.com/maps?v=1.3&callback=initAMap&key=8451e6c7c28a37f1ab520e72299e3511'
        script.onerror = reject
        document.head.appendChild(script)
      }
      window.initAMap = () => {
        resolve(window.AMap)
      }
    })
  }

4.在所需页面引入 amp.js


                
好的,我会尽量详细地说明一下。 1. 首先,在你的 Vue3 项目中安装高德地图的 SDK,可以使用如下命令: ```bash npm install --save @amap/amap-jsapi-loader@2.0.0-beta.2 ``` 2. 在你的 Vue3 项目中创建一个地图组件,可以使用如下代码: ```vue <template> <div id="map-container"></div> </template> <script> import { defineComponent } from 'vue'; import { useAMapLoader } from '@amap/amap-jsapi-loader'; export default defineComponent({ name: 'Map', setup() { // 加载高德地图的 SDK const { load } = useAMapLoader({ key: '您申请的高德地图开发者Key', version: '2.0', plugins: [], }); // 在组件加载时初始化地图 const initMap = async () => { await load(); const map = new window.AMap.Map('map-container', { zoom: 10, center: [116.397428, 39.90923], }); // 点击地图获取经纬度 map.on('click', (event) => { const lnglat = event.lnglat; console.log(lnglat.getLng(), lnglat.getLat()); }); }; initMap(); return {}; }, }); </script> ``` 3. 将地图组件添加到你的页面中,例如: ```vue <template> <div> <Map /> </div> </template> <script> import { defineComponent } from 'vue'; import Map from './Map.vue'; export default defineComponent({ name: 'App', components: { Map, }, }); </script> ``` 在这个示例中,我们使用 `useAMapLoader` 函数来加载高德地图的 SDK,并在组件加载时初始化了地图。在地图上点击时,我们使用 `map.on('click', ...)` 监听了点击事件,并在回调函数中获取了所选点的经纬度。 需要注意的是,这个示例中的代码是基于 Vue3 和 @vue/cli 4.x 版本开发的,如果你使用的是其他版本的 VueVue CLI,可能需要进行相应的调整。同时,你需要将代码中的 `您申请的高德地图开发者Key` 替换为你自己申请的开发者 Key。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值