基于jeecgboot前端框架制作。

.env文件中加入变量定义:

VUE_APP_MAP_KEY= 你的key

项目中config文件夹中的index.js中增加一个变量,引用这个key

//腾讯地图key
window._CONFIG['qqMapKey'] = process.env.VUE_APP_MAP_KEY

index.html中增加腾讯地图的js文件引用

<script src="https://map.qq.com/api/gljs?v=1.exp&key=<%= VUE_APP_MAP_KEY %>"></script>

地图组件:

<template><j-modal:title="title":width="width":visible="visible"switchFullscreen@ok="handleOk"@cancel="handleCancel"cancelText="关闭"><div id="container"></div></j-modal>
</template><script>
export default {name: "TencentMap",props: {coordinate: {type: Object,default: () => {return {lat: '',lng: ''}}}},data() {return {title: '设置地点',width: 1000,visible: false,markerLayer: {},markerId: 'marker',location: this.coordinate}},methods: {getMyLocation() {const KEY = window._CONFIG['qqMapKey']let url = 'https://apis.map.qq.com/ws/location/v1/ip'this.$jsonp(url, {key: KEY,output: 'jsonp'}).then(json => {this.location.lat = json.result.location.lat;this.location.lng = json.result.location.lng;this.initMap()}).catch(error => {this.$message.error('定位失败')})},initMap() {let center = new TMap.LatLng(this.location.lat, this.location.lng)let map = new TMap.Map(document.getElementById('container'), {center: center,zoom: 17.2,   //设置地图缩放级别pitch: 0,  //设置俯仰角rotation: 0    //设置地图旋转角度});this.markerLayer = new TMap.MultiMarker({id: 'marker-layer',map: map,})map.on('click', (evt) => {this.location.lat = evt.latLng.latthis.location.lng = evt.latLng.lngthis.markerLayer.remove(this.markerId) //移除旧的标记this.markerLayer.add({id: this.markerId,position: new TMap.LatLng(this.location.lat, this.location.lng)})})if (this.location.lat) {this.markerLayer.add({id: this.markerId,position: new TMap.LatLng(this.location.lat, this.location.lng)})}},handleCancel() {this.visible = false},handleOk() {this.$emit('onSel', this.location)this.visible = false},open(location) {if (location && JSON.stringify(location) != "{}") {this.location = location}this.visible = truethis.$nextTick(() => {if (!this.location.lat) {this.getMyLocation()} else {this.initMap()}})}}
}
</script><style scoped></style>

使用:

<tencent-map ref="map" @onSel="selLocation"></tencent-map>import TencentMap from "@comp/map/TencentMap";components: {TencentMap},this.$refs.map.open()  //打开窗口,未传入坐标,将使用ip进行定位,并在地图上标记,ip定位并不准确,不过距离实际的位置不会太远,都在一个城市内this.$refs.map.open({lat:35.21406841039809  ,lng:113.2474249152092}) //打开窗口,传入坐标,将在这个坐标上标记selLocation(location){console.log(location)}

vue制作腾讯地图组件相关推荐

  1. vue 集成腾讯地图基础api Demo集合

    Vue 集成腾讯地图基础api Demo集合(基础地图引入与展示模块,地址逆解析,3D/2D切换 ,位置服务,mark标记) 写作背景 .之前项目使用腾讯地图,感觉还是比较好用的,但是官方的demo大 ...

  2. Vue引入腾讯地图(搜索获取定位)

    效果: 申请腾讯地图 1.首先进入腾讯位置服务登陆/注册,地址:https://lbs.qq.com/ 2.进入控制台,点击左侧菜单应用管理-我的应用,点击右上方创建应用,填写内容如下 WebServ ...

  3. vue h5 腾讯地图路线规划

    vue h5腾讯地图定位传送门 代码如下:在微信浏览器中会弹出是否打开第三方 点击取消则打开内置腾讯 点击去 则跳转腾讯地图app location.href = https://apis.map.q ...

  4. 移动端vue实现部门结构功能_基于Vue制作组织架构树组件

    编程之家收集整理的这篇文章主要介绍了基于Vue制作组织架构树组件,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. 由于公司业务需求,需要开发一个展示组织架构的树组件(公司的项目是基于Vu ...

  5. vue使用腾讯地图获取经纬度和逆解析获取详细地址

    vue使用腾讯地图获取经纬度和逆解析获取详细地址 示例 必须在腾讯api中申请自己的key 打开这个webservice用来逆解析详细地址 下面是代码 1 , html创建放地图的容器 <div ...

  6. vue 调用腾讯地图 https://apis.map.qq.com/ws/place/v1/suggestion/

    vue 调用腾讯地图 1.先安装依赖 npm install jsonp 2. 新建一个jsonp.js 文件 3. 以下代码放到jsonp.js文件里 exports.install = funct ...

  7. vue 图片剪辑_用vue制作的图片剪辑组件

    vue 图片剪辑 形状 (vueShapeImg) Picture clipping component made with vue. 用vue制作的图片剪辑组件. View demo 查看演示 Do ...

  8. vue接入腾讯地图(二)【标注定位实战】

    vue接入腾讯地图(一)[点击事件]请参考: https://blog.csdn.net/weixin_45628602/article/details/108401673 1.[标注] 添加标注 v ...

  9. Vue 引入腾讯地图 API 与实际应用保姆级分享

    背景: 需求是大屏要加一个地图板块,同时把获取到的企业信息根据经纬度展示在地图中,并且要求鼠标悬浮打开企业信息的详细信息面板 文章目录 引入第三方地图组件库 页面引入并初始化 地图控件显示控制 DOM ...

最新文章

  1. 网易笔试——混合颜料
  2. android6.0源码分析之Camera API2.0下的Capture流程分析
  3. 弃用Java的终结器
  4. 对于scanf,strcpy等函数报4996错误的粗暴而简单解决办法
  5. sonar覆盖率怎么统计的_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(上)...
  6. spring mvc请求的时候是如何找到正确的Controller
  7. java中程序定义book类_Java基础_0302:类和对象
  8. 如何获得一个干净的 gnome 开发环境?
  9. Mac刷新DNS,修改/etc/hosts立即生效
  10. word 批量转 pdf
  11. Toplitz矩阵 Hankel矩阵 Hilbert矩阵
  12. 《Option Volatility Pricing》阅读笔记之 Volatility(波动率)
  13. LINUX环境下安装MySQL数据库
  14. ThingsBoard 仪表板状态
  15. pocketsphinx 模型库_[转] PocketSphinx语音识别系统声学模型的训练与使用
  16. 使用idea将dev分支合并到master分支
  17. 机器人仿生控制方法研究
  18. 计蒜客 - T1029 计算2的幂
  19. C语言-宏定义和字符串
  20. QUI主体、授权文件

热门文章

  1. 计算机网络点对点协议PPP
  2. input上传图片并同步获取图片分辨率
  3. python 导入离线地图_Python绘制数据地图可以应用与各种场景,只需要更改数据就行。...
  4. Arc GIS拓扑规则
  5. H5编写Audio音乐播放器——李帅醒博客
  6. Ubuntu拼音输入法安装的问题
  7. 2021高考成绩查询倒计时,2021年高考倒计时时间
  8. [DFT]什么是Voltage Data Retention(VDR)
  9. 深度相机分类介绍:结构光+立体深度+飞行时间
  10. 《人机交互的软件工程视角》知识点总结