Vue 集成腾讯地图基础api Demo集合(基础地图引入与展示模块,地址逆解析,3D/2D切换 ,位置服务,mark标记)

简介: Vue 集成腾讯地图基础api Demo集合(基础地图引入与展示模块,地址逆解析,3D/2D切换 ,位置服务,mark标记)

Vue 集成腾讯地图基础api Demo集合(基础地图引入与展示模块,地址逆解析,3D/2D切换 ,位置服务,mark标记)

写作背景

.之前项目使用腾讯地图,感觉还是比较好用的,但是官方的demo大部分都是原生js,且比较基础,并且很多高级Api分布比较分散,不利于开发者查找,所以使用vue结合网上的开源框架vue-admin模仿官方,做一个开箱即用的Demo集合出来。 down下项目来会有个登录界面,随便输入六个字符就可以了(笔者很懒,懒得移除了,已经没救了)

项目预览

在这里插入图片描述

各位看官可以从这个地址直接拉取代码 然后复制粘贴就好了

项目说明

由于笔者时间仓促,目前只整理了四个模块分别是(如果效果不错将继续更新,欢迎各位道友提issues,看到会及时解决):

  1. 基础地图引入与展示模块
  2. 3D/2D切换 与效果对比
  3. 关于位置服务的一些基础api 依次为:定位当前位置,定位到初始化位置,定位中心点,添加鼠标点击事件,切换隐藏与显示地图文字
  4. mark标记的基础使用,依次为:添加标记,结束添加标记事件,mark标记点可拖拽。

前期准备工作

点击这条连接注册腾讯地图开发者账号

注意点

这是一个Vue集成腾讯地图的demo
项目中需要在index.html上事先引入以下内容


 <script src="https://map.qq.com/api/gljs?v=1.exp&key=你注册之后获取的key值"></script>
 <script src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js"></script>
 <script charset="utf-8" src="https://map.qq.com/api/gljs?libraries=tools&v=1.exp&key=你注册之后获取的key值"></script>

然后在main.js 文件下写入这几行代码

Vue.prototype.$Map = window.TMap
Vue.prototype.$Location = new window.qq.maps.Geolocation('你自己的key', '腾讯地图模板-博客展示')

再次提醒 点击这条连接可以注册腾讯地图开发者账号。

书到此地,大部分道友应该直接复制粘贴就可以完美的跑起腾讯地图了。


以下是2021.1.16月更新 加入位置逆解析服务

各位看官如果觉得此篇博客内容过于冗杂,请参考另一篇博客

调用此服务必须拥有开发者账号并申请属于自己的key 这里是申请地址
具体使用方法:
通过get方法调用 :

{
rul:'http://localhost:9528/qq/ws/geocoder/v1/?location=lat,lng&key=你的key&get_poi=1'}

位置逆解析有几处坑在这里陈列一下:

  1. 第一大坑 跨域

        不知道是不是只有自己这样,在本地启动项目时调用逆解析地址会报跨域问题,需要各位在程序里配置好跨域代码如下
    在vue.config.js里面配置跨域(如果是cli低版本的朋友,麻烦自行网上搜索解决方案,已经比较健全了,笔者就不在这里赘述)
devServer: {
    port: port,
    open: true,
    overlay: {
      warnings: false,
      errors: true
    },
    proxy: { // 配置跨域
      '/qq': {
        target: 'https://apis.map.qq.com/', // 这里后台的地址模拟的;应该填写你们真实的后台接口
        ws: true,
        changOrigin: true, // 允许跨域
        pathRewrite: {
          '^/qq': '' // 请求的时候使用这个api就可以
        }}
    },
  1. 第二大坑 授权报错

    报错类型如下
    
     {
    "status": 110,
    "message": "请求来源未被授权, 此次请求来源域名:localhost9528"
    }
     {
    "status": 112,
    "message": "IP未被授权,当前IP:127.0.0.1"
    }
 {
    "status": 111,
    "message": "签名验证失败"
  }

解决方法均是通过腾讯位置服务平台,结合官方文档配置key管理,如图在这里插入图片描述

详细api参数请参照 官方文档

#### 题外话
笔者致力于开发遇到的各种复杂组件,虽说授人以鱼不如授人以渔,但是很多情况下我们是需要先恰饭的,所以先把鱼钓上来,希望帮各位刚上路的道友填饱肚子

以下是我所有组件开源的地址与博客 各位如果觉得有用,别忘了点赞与star,感谢支持

前端组件集合文章
vue组件-echarts地图显示柱状图并添加点击事件文档
vue组件之仿钉钉自定义流程图组件文档
vue组件之树状选择器组件文档

相关文章
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
1247 0
|
9月前
|
缓存 数据可视化 定位技术
快递鸟快递API技术指南:获取物流轨迹信息与轨迹地图的解决方案
在当今电商竞争激烈的环境中,物流体验已成为提升用户满意度的关键因素。研究表明,超过 75% 的消费者会因物流信息不透明而放弃下单。
1982 1
|
JavaScript 数据可视化 前端开发
基于 Vue 与 D3 的可拖拽拓扑图技术方案及应用案例解析
本文介绍了基于Vue和D3实现可拖拽拓扑图的技术方案与应用实例。通过Vue构建用户界面和交互逻辑,结合D3强大的数据可视化能力,实现了力导向布局、节点拖拽、交互事件等功能。文章详细讲解了数据模型设计、拖拽功能实现、组件封装及高级扩展(如节点类型定制、连接样式优化等),并提供了性能优化方案以应对大数据量场景。最终,展示了基础网络拓扑、实时更新拓扑等应用实例,为开发者提供了一套完整的实现思路和实践经验。
1800 78
|
缓存 JavaScript 前端开发
Vue3与Vue2生命周期对比:新特性解析与差异探讨
Vue3与Vue2生命周期对比:新特性解析与差异探讨
1066 3
|
JavaScript 前端开发 UED
Vue 手风琴实现的三种常用方式及长尾关键词解析
手风琴效果是Vue开发中常见的交互组件,可节省页面空间、提升用户体验。本文介绍三种实现方式:1) 原生Vue结合数据绑定与CSS动画;2) 使用Element UI等组件库快速构建;3) 自定义指令操作DOM实现独特效果。每种方式适用于不同场景,可根据项目需求选择。示例包括产品特性页、后台菜单及FAQ展示,灵活满足多样需求。附代码示例与资源链接,助你高效实现手风琴功能。
656 10
|
JavaScript API
vue中api统一管理
【10月更文挑战第4天】
|
JavaScript 前端开发 UED
Vue 表情包输入组件实现代码及详细开发流程解析
这是一篇关于 Vue 表情包输入组件的使用方法与封装指南的文章。通过安装依赖、全局注册和局部使用,可以快速集成表情包功能到 Vue 项目中。文章还详细介绍了组件的封装实现、高级配置(如自定义表情列表、主题定制、动画效果和懒加载)以及完整集成示例。开发者可根据需求扩展功能,例如 GIF 搜索或自定义表情上传,提升用户体验。资源链接提供进一步学习材料。
862 1
|
人工智能 定位技术 API
旅行规划太难做?5 分钟构建智能Agent,集成地图 MCP Server
MCP(Model Coordination Protocol)是由Anthropic公司提出的开源协议,旨在通过标准化交互方式解决AI大模型与外部数据源、工具的集成难题。阿里云百炼平台上线了业界首个全生命周期MCP服务,大幅降低Agent开发门槛,实现5分钟快速搭建智能体应用。本文介绍基于百炼平台“模型即选即用+MCP服务”模式,详细展示了如何通过集成高德地图MCP Server为智能体添加地图信息与天气查询能力,构建全面的旅行规划助手。方案涵盖智能体创建、模型配置、指令与技能设置等步骤,并提供清理资源的指导以避免费用产生。
|
JavaScript 前端开发 开发者
Vue执行流程及渲染解析
【10月更文挑战第2天】
340 58