前言
在做基于LBS的应用中,时常会和地图打交道,最直接的解决方案,当然是去对应的地图官网找文档,然后一步步来玩。对于简单场景而言,体验应该还好,但对于一些状态多,变化频繁的复杂场景而言,不仅要时刻维护本地数据状态和地图状态同步,还要查找设置各种状态的地图API,实在是让人头疼的事情。
设计vue-amap的初衷,也就是为了让开发者,在编写地图应用时,能从查找众多地图API和繁琐的地图状态同步中解脱出来。
那么vue-amap是如何做到的,又能给开发者带来怎样的便利与开发体验呢?我们就从一个轻点的栗子讲起。
产品经理说,咱们要搞个地图,上面给我放N个人,我要时刻知道他们的位置。
安装
npm install vue-amap --save
引入vue-amap
vue-amap的引入方式很简单,在入口文件中加入下面内容
// 引入vue-amap
import AMap from 'vue-amap';
Vue.use(AMap);
// 初始化vue-amap
AMap.initAMapApiLoader({
// 申请的高德key
key: 'YOUR_KEY',
// 插件集合
plugin: ['']
});
显示地图
在模版中加入vue-amap的地图组件
<el-amap vid="amapDemo"> </el-amap>
给地图加入N个人
在模版中加入vue-amap的地图组件
<template>
<el-amap vid="amapDemo">
// 添加N个人
<el-amap-marker v-for="marker in markers" :position="marker.position">
</el-amap-marker>
</el-amap>
</template>
<script>
export default {
data() {
return {
markers: []
};
},
mounted() {
// 姑且N为2
// 这样地图上就添加了两个人
this.markers = [
{
position: [121.5273285, 31.21515044]
}, {
position: [121.5273286, 31.21515045]
}
];
}
};
</script>
让N个人动起来
之前我们已经将N个人放上去了,关键的时候来了,我们如何更新地图状态呢?vue-amap支持数据的单向绑定,直接更新本地数据状态即可同步地图显示状态。
<template>
<el-amap vid="amapDemo">
<el-amap-marker v-for="marker in markers" :position="marker.position">
</el-amap-marker>
</el-amap>
</template>
<script>
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);
}
};
</script>
一个简单的基于vue-amap的地图应用就完成了,有没有觉得方便很多,我们只要维护好自己本地的数据状态即可,将具体地图的API,以及本地数据集和地图状态同步问题交给vue-amap负责就好了。
我们会持续维护这个项目,同时也希望vue-amap能给更多开发者带来开发效率的提高以及体验上的舒适。
Github:vue-amap
demo完成下载地址:vue-amap_jb51.rar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?