vue基于Vue2.0和高德地图的地图组件实例

  

<强>前言

  

在做基于伦敦商学院的应用中,时常会和地图打交道,最直接的解决方案,当然是去对应的地图官网找文档,然后一步步来玩。对于简单场景而言,体验应该还好,但对于一些状态多,变化频繁的复杂场景而言,不仅要时刻维护本地数据状态和地图状态同步,还要查找设置各种状态的地图API,实在是让人头疼的事情。
  设计vue-amap的初衷,也就是为了让开发者,在编写地图应用时,能从查找众多地图API和繁琐的地图状态同步中解脱出来。

  

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

  

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

  

<>强安装

        npm安装vue-amap——保存      

<强>引入vue-amap

  

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

     //引入vue-amap   从“vue-amap”进口同理;   Vue.use(译者注:挪威首都)基地;//初始化vue-amap   AMap.initAMapApiLoader ({//申请的高德键   关键:“YOUR_KEY”,//插件集合   插件(”):   });   之前      

<>强显示地图

  

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

        & lt; el-amap vid=癮mapDemo”比;   & lt;/el-amap>      

<强>给地图加入N个人

  

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

        & lt; template>   & lt; el-amap vid=癮mapDemo”比;//添加N个人   & lt; el-amap-marker v=氨昙潜昙恰?位置=癿arker.position”比;   & lt;/el-amap-marker>   & lt;/el-amap>   & lt;/template>      & lt; script>   出口默认{   数据(){   返回{   标记:[]   };   },   安装(){//姑且N为2//这样地图上就添加了两个人   这一点。标记=[   {   位置:[121.5273285,31.21515044]   }, {   位置:[121.5273286,31.21515045]   }   ];   }   };   & lt;/script>      之前      

<强> N个让人动起来

  

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

        & lt; template>   & lt; el-amap vid=癮mapDemo”比;   & lt; el-amap-marker v=氨昙潜昙恰?位置=癿arker.position”比;   & lt;/el-amap-marker>   & lt;/el-amap>   & lt;/template>      & lt; script>   出口默认{   数据(){   返回{   标记:[]   };   },   安装(){//姑且N为2//为地图添加两个人   这一点。标记=[   {   位置:[121.5273285,31.21515044]   }, {   位置:[121.5273286,31.21515045]   }   ];//模拟实时更新位置//开启一个1 s的轮训,每个人的经纬度都自增0.00001   const一步=0.00001;   setInterval()=比;{   this.markers.forEach((标记)=比;{   标记。位置=[标记。位置[0]+一步,标记。位置[1]+一步];   });   },1000);   }   };   & lt;/script>      之前      

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

  

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

  

Github: vue-amap   

演示完成下载地址:vue-amap_jb51.rar

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

vue基于Vue2.0和高德地图的地图组件实例