关于在vue项目中如何使用amap地图插件

vue中使用amap

这几天被公司要求在APP端做出一个地图,且在地图上来显示不同公司的详细信息的功能。
众所周知,人们在面对一个新的陌生事物时,可能会有一种陌生以及不安的心理(ps: 那些大佬当我没说),俺也一样。所以记录一下本次做地图的一些细节以及具体做法。
那么废话不多说,直接开始吧。

一: 首先得知道地图的基本展现(你得能先让地图主体出来,在搞其他)

1.1 安装 ( 官方链接:https://elemefe.github.io/vue-amap/#/zh-cn/introduction/install)

1.1-1:在安装完地图相关依赖后,在你要使用的vue组件中初始化插件。
这里plugin是你要使用的一些地图中的插件,如定位插件,鹰眼插件等。
key 你可以自己申请,也可以在网上找一个key
在这里插入图片描述
1.1-2: 引入后,
我这里是封装了一个公用组件,然后按需传入需要的数据就可以。
在这里插入图片描述
1.1.-3:
在拿到所需要的数据之后,主要做以下红框中的处理。
position是经纬度,events是点击事件,点击当前点坐标所触发的事件,content是文本,这里的content要注意,vue的绑定事件对其是不管作用的。
1.1-4 : 到此,地图基本就可以展现了在这里插入图片描述
1.2 使用
我本次使用的是展示点坐标,不过是把点坐标展示成气泡的样式。如图:
这是项目完成之后的样子。:

这其中主要的一点就是获取用户当前经纬度。这里直接用官方的定位插件就可以获取到经纬度。
data中加入以下代码获取用户当前经纬度。

// An highlighted block
     lat: 0,
        lng: 0,
        plugin: ['Scale', {
          pName: 'Geolocation',
          events: {
            init(o) {
              // o 是高德地图定位插件实例
              o.getCurrentPosition((status, result) => {
                if (result && result.position) {
                  self.lng = result.position.lng;
                  self.lat = result.position.lat;
                  self.center = [self.lng, self.lat];
                   // self.getsuplyList();
                  self.loaded = true;
                  self.$nextTick();
                }
              });
            }
          },
        }],

1.3 总结
地图功能其实不复杂,复杂的是对这些组件以及怎么传参的不了解,所以多啃官方文档吧。吃透了你会发现官方大大都已经帮我们完成了大部分。学海无涯,共同努力。
有帮助麻烦点个赞,蟹蟹

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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的功能和组件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值