vue基于Vue2.0和高德地图的地图组件实例
发布时间 - 2026-01-11 00:52:47 点击率:次前言

在做基于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中的高德轨迹回放
# 他们的
# 我要
# 给我
# 让人
# 来了
# 去了
# 也就
# 下载地址
# 每个人
# 很简单
# 又能
# 能给
# 绑定
# 来玩
# 放上
# 官网
# 大家多多
# 讲起
# 图上
# 要搞
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Android Socket接口实现即时通讯实例代码
如何获取上海专业网站定制建站电话?
Bootstrap整体框架之CSS12栅格系统
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
高防服务器:AI智能防御DDoS攻击与数据安全保障
Laravel怎么判断请求类型_Laravel Request isMethod用法
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
Laravel定时任务怎么设置_Laravel Crontab调度器配置
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
Laravel如何与Pusher实现实时通信?(WebSocket示例)
WEB开发之注册页面验证码倒计时代码的实现
Laravel如何使用Eloquent进行子查询
实例解析Array和String方法
Laravel如何使用Blade组件和插槽?(Component代码示例)
如何在万网自助建站平台快速创建网站?
如何在Windows服务器上快速搭建网站?
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
JS中对数组元素进行增删改移的方法总结
如何快速搭建高效简练网站?
iOS发送验证码倒计时应用
如何用低价快速搭建高质量网站?
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
香港服务器选型指南:免备案配置与高效建站方案解析
高防服务器如何保障网站安全无虞?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何快速上传自定义模板至建站之星?
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
微信小程序 配置文件详细介绍
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
潮流网站制作头像软件下载,适合母子的网名有哪些?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
微信小程序 canvas开发实例及注意事项
如何利用DOS批处理实现定时关机操作详解
深圳网站制作培训,深圳哪些招聘网站比较好?
如何快速完成中国万网建站详细流程?
python中快速进行多个字符替换的方法小结
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
使用C语言编写圣诞表白程序
Swift中switch语句区间和元组模式匹配
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
Laravel如何实现一对一模型关联?(Eloquent示例)
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤

