记录在vue项目中使用vue-amap和原生高德地图api时产生的兼容问题

一、前提

        项目开发中,需要用到vue-amap插件的情况,但此时项目里的全局引用已经引用了高德地图2.0版本,而vue-amap只支持1.4.15(该插件作者已经很久没有维护了,不必要情况建议使用原生高德地图或者是amap-vue,注意vue-amap和amap-vue是两款插件)会产生必然的兼容问题

vue-amap文档:vue-amap文档

amap-vue文档:介绍 | AMap-Vue

二、解决方式

        首先,如果直接用1.14.15版本覆盖到index.html的script标签引入的话,会导致项目其他使用高德地图2.0api的模块无法使用。直接跟着vue-amap文档步骤,在main.js中引入VueAMap插件,也会被覆盖。

        所以,可以借用AMapLoader插件进行重置,并重新设置版本,此方法只要是高德地图使用时版本冲突都可以解决

解决流程:

(1)首先需要先安装依赖:

npm i @amap/amap-jsapi-loader --save

(2)然后便是,在你所需要重置版本的模块的地图文件中,引入

import AMapLoader from '@amap/amap-jsapi-loader'

(3)然后便是重置

AMapLoader.reset()

(4)重置完设定你的需要引入的版本的对应可以即可

AMapLoader.load({
  "key": "***********", // 申请好的Web端开发者Key,首次调用 load 时必填
  "version": "1.4.15", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
  "plugins": ['AMap.Scale'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
})

(5)注意,由于我是在vue-amap中进行的重置,AMapLoader.load({}).then后面的内容不需要进行填写都是封装好的

最后的最后!!谢谢网络上牛人们封装的插件,但是作为开发者的我们建议尽量避免使用已经很久没有维护的插件!这一切都是血的教训

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vue使用高德SDK可以通过vue-amap插件来实现。以下是一些基本步骤: 1. 首先,通过npm或yarn安装vue-amap插件。可以使用以下命令进行安装: ```bash npm install vue-amap ``` 2. 在main.js文件引入vue-amap插件: ```javascript import VueAMap from 'vue-amap'; Vue.use(VueAMap); ``` 3. 在Vue组件使用vue-amap插件。可以在组件的mounted钩子函数进行初始化和配置。 ```javascript mounted() { // 初始化vue-amap this.initAMapAPI(); }, methods: { initAMapAPI() { // 配置vue-amap VueAMap.initAMapApiLoader({ key: 'your-amap-api-key', plugin: ['AMap.Geolocation'] }); // 加载插件模块 VueAMap .then(() => { // 创建地图对象 const map = new VueAMap.Map('map-container'); // 添加地图控件等操作 // ... // 获取当前位置 this.getCurrentLocation(map); }) .catch(error => { console.log('地图加载失败:', error); }); }, getCurrentLocation(map) { // 使用高德SDK的定位功能获取当前位置 AMap.plugin('AMap.Geolocation', () => { const geolocation = new VueAMap.Geolocation(); map.addControl(geolocation); geolocation.getCurrentPosition((status, result) => { if (status === 'complete') { // 获取到当前位置信息 console.log('当前位置:', result); } else { // 获取失败 console.log('获取位置失败'); } }); }); } } ``` 通过以上步骤,你就可以在Vue使用高德SDK了。需要注意的是,在使用过程要替换'your-amap-api-key'为你自己的高德API密钥。并且根据需求,你还可以添加更多高德SDK的功能和组件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值