amap vueamap 与_vue-amap - 基于Vue2.0和高德地图的地图组件

本文介绍了vue-amap组件的使用,旨在简化基于Vue2.0和高德地图的地图应用开发。通过vue-amap,开发者可以避免复杂的地图API查找和状态同步问题。文章通过一个实例展示了如何安装、引入vue-amap,以及如何添加和更新地图上的标记,从而实现地图应用的动态效果。
摘要由CSDN通过智能技术生成

前言在做基于LBS的应用中,时常会和地图打交道,最直接的解决方案,当然是去对应的地图官网找文档,然后一步步来玩。对于简单场景而言,体验应该还好,但对于一些状态多,变化频繁的复杂场景而言,不仅要时刻维护本地数据状态和地图状态同步,还要查找设置各种状态的地图API,实在是让人头疼的事情。

设计vue-amap的初衷,也就是为了让开发者,在编写地图应用时,能从查找众多地图API和繁琐的地图状态同步中解脱出来。

那么vue-amap是如何做到的,又能给开发者带来怎样的便利与开发体验呢?我们就从一个轻点的栗子讲起。

产品经理说,咱们要搞个地图,上面给我放N个人,我要时刻知道他们的位置。

安装

npm install vue-amap --save

引入vue-amap

vue-amap的引入方式很简单,在入口文件中加入下面内容

// 引入vue-amapimport AMap from 'vue-amap';

Vue.use(AMap);

// 初始化vue-amapAMap.initAMapApiLoader({

// 申请的高德key key: 'YOUR_KEY',

// 插件集合 plugin: ['']

});

显示地图

在模版中加入vue-amap的地图组件

给地图加入N个人

在模版中加入vue-amap的地图组件

// 添加N个人

export default {

data() {

return {

markers: []

};

},

mounted() {

// 姑且N为2 // 这样地图上就添加了两个人 this.markers = [

{

position: [121.5273285, 31.21515044]

}, {

position: [121.5273286, 31.21515045]

}

];

}

};

让N个人动起来

之前我们已经将N个人放上去了,关键的时候来了,我们如何更新地图状态呢?vue-amap支持数据的单向绑定,直接更新本地数据状态即可同步地图显示状态。

export default {

data() {

return {

markers: []

};

},

mounted() {

// 姑且N为2 // 为地图添加两个人 this.markers = [

{

position: [121.5273285, 31.21515044]

}, {

position: [121.5273286, 31.21515045]

}

];

// 模拟实时更新位置 // 开启一个1s的轮训,每个人的经纬度都自增0.00001 const step = 0.00001;

setInterval(() => {

this.markers.forEach((marker) => {

marker.position = [marker.position[0] + step, marker.position[1] + step];

});

}, 1000);

}

};

一个简单的基于vue-amap的地图应用就完成了,有没有觉得方便很多,我们只要维护好自己本地的数据状态即可,将具体地图的API,以及本地数据集和地图状态同步问题交给vue-amap负责就好了。

我们会持续维护这个项目,同时也希望vue-amap能给更多开发者带来开发效率的提高以及体验上的舒适。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值