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


Posted in Javascript onApril 28, 2017

前言

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

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

Javascript 相关文章推荐
Jquery乱码的一次解决过程 图解教程
Feb 20 Javascript
ExtJs grid行 右键菜单的两种方法
Jun 19 Javascript
JQuery中html()方法使用不当带来的陷阱
Apr 07 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
Oct 29 Javascript
javascript实现日历控件(年月日关闭按钮)
Dec 12 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
Jan 17 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
Aug 27 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
Jul 28 Javascript
js面向对象编程总结
Feb 16 Javascript
微信小程序 两种为对象属性赋值的方式详解
Feb 23 Javascript
tangram.js库实现js类的方式实例分析
Jan 06 Javascript
微信小程序实现滚动消息通知
Feb 02 Javascript
d3.js实现立体柱图的方法详解
Apr 28 #Javascript
JS基于正则表达式的替换操作(replace)用法示例
Apr 28 #Javascript
vue调用高德地图实例代码
Apr 28 #Javascript
vue省市区三联动下拉选择组件的实现
Apr 28 #Javascript
AngulaJS路由 ui-router 传参实例
Apr 28 #Javascript
Angular.Js之Scope作用域的学习教程
Apr 27 #Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
Apr 27 #Javascript
You might like
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
PHP中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
PHP实现添加购物车功能
2017/03/06 PHP
javascript中的对象创建 实例附注释
2011/02/08 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
js二维数组排序的简单示例代码
2014/01/24 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
python实现逻辑回归的方法示例
2017/05/02 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
matplotlib绘制动画代码示例
2018/01/02 Python
Django开发的简易留言板案例详解
2018/12/04 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
新奇的小玩意:IWOOT
2016/07/21 全球购物
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
梅西百货澳大利亚:Macy’s Australia
2017/07/26 全球购物
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
办公室前台的岗位职责
2013/12/20 职场文书
教育科研先进个人材料
2014/01/26 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
敬老月活动总结
2014/08/28 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书