全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

前言

在做基于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

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


# vue  # 高德地图  # 高德  # vue引用高德地图  # VUE项目中调用高德地图的全流程讲解  # 在vue中高德地图引入和轨迹的绘制的实现  # Vue中的高德轨迹回放  # 他们的  # 我要  # 给我  # 让人  # 来了  # 去了  # 也就  # 下载地址  # 每个人  # 很简单  # 又能  # 能给  # 绑定  # 来玩  # 放上  # 官网  # 大家多多  # 讲起  # 图上  # 要搞 


相关文章: 免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  电商平台网站制作流程,电商网站如何制作?  如何在IIS服务器上快速部署高效网站?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  简历在线制作网站免费,免费下载个人简历的网站是哪些?  如何注册花生壳免费域名并搭建个人网站?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何解决VPS建站LNMP环境配置常见问题?  青岛网站建设如何选择本地服务器?  如何通过IIS搭建网站并配置访问权限?  宝塔新建站点报错如何解决?  如何快速查询域名建站关键信息?  建站之星如何实现网站加密操作?  企业微网站怎么做,公司网站和公众号有什么区别?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐    免费公司网站制作软件,如何申请免费主页空间做自己的网站?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  用v-html解决Vue.js渲染中html标签不被解析的问题  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  如何通过FTP服务器快速搭建网站?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  如何在云主机上快速搭建多站点网站?  建站之星ASP如何实现CMS高效搭建与安全管理?  如何彻底删除建站之星生成的Banner?  ,南京靠谱的征婚网站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  如何选择高性价比服务器搭建个人网站?  如何选择高效便捷的WAP商城建站系统?  建站之星价格显示格式升级,你的预算足够吗?  网站按钮制作软件,如何实现网页中按钮的自动点击?  建站之星如何助力网站排名飙升?揭秘高效技巧  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何快速搭建FTP站点实现文件共享?  网站制作公司排行榜,四大门户网站排名?  南平网站制作公司,2025年南平市事业单位报名时间?  制作企业网站建设方案,怎样建设一个公司网站?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何做静态网页,sublimetext3.0制作静态网页?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  宁波免费建站如何选择可靠模板与平台?  如何在Windows环境下新建FTP站点并设置权限?  Python文件管理规范_工程实践说明【指导】  建站之星如何实现五合一智能建站与营销推广?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。