点击list中的查看会弹出dialog展示定位

定位所需要的经度和纬度由后端接口提供,visitedList为展示list,通过$emit(‘showPosition’,{latitude:****,longitude:*****}传递list中从后端获取的经度纬度,并触发打开弹框

在这里插入代码片
<div><visitedList @showPosition="showPosition" /></div><el-dialog:visible.sync="positionDialog"title="打卡定位"width="640px"class="position-dialog"append-to-bodydestroy-on-close><div class="map"><div v-show="latitude !== 0 || longitude !== 0" id="has-map" class="has-map" /><div v-show="latitude === 0 && longitude === 0" class="no-map">暂无打卡定位信息</div></div></el-dialog>
<script>
import visitedList from './visitedRecord/list.vue'
import { loadInitialMap } from '@/utils/loadInitialMap'export default {components: {visitedList},data() {return {positionDialog: false}},methods: {showPosition(position) {this.positionDialog = truethis.latitude = position.latitude ? position.latitude : 0this.longitude = position.longitude ? position.longitude : 0if (this.latitude !== 0 || this.longitude !== 0) {this.initMap()}},initMap() {const timer = setInterval(() => {const map = document.querySelector('.has-map')if (map) {const address = [this.latitude, this.longitude]loadInitialMap('has-map', address, '')clearInterval(timer)}}, 200)}}
}
</script><style lang="scss" scoped>
.map {height: 400px;width: 600px;.no-map {height: 400px;width: 600px;display: flex;justify-content: center;align-items: center;background: #f5f5f5;}.has-map {margin-bottom: 10px;height: 400px;}
}
</style>

loadInitislmap.js

在这里插入代码片
/***** @export* @param {*} className 类名* @param {*} arr 经度纬度坐标数组* @param {*} addressName 地址名称*/
export function loadInitialMap(domID, arr, addressName) {// 设置中心点坐标const center = new window.TMap.LatLng(arr[0], arr[1])// 初始化地图const map = new window.TMap.Map(document.getElementById(domID), {rotation: 20, // 设置地图旋转角度pitch: 30, // 设置俯仰角度(0~45)zoom: 12, // 设置地图缩放级别center: center // 设置地图中心点坐标})const maketLyer = new window.TMap.MultiMarker({map: map,style: {myStyle: new window.TMap.MarkerStyle({width: 25, // 点标记样式宽度(像素)height: 35 // 点标记样式高度(像素)})},geometries: [{id: 'label-layer', // 点标记唯一标识,后续如果有删除、修改位置等操作,都需要此idstyleId: 'myStyle', // 指定样式idposition: new window.TMap.LatLng(arr[0], arr[1]), // 点标记坐标位置properties: {// 自定义属性title: 'marker1'}}]})// 简单文本标记const label = new window.TMap.MultiLabel({id: '1',map: map,styles: {label: new window.TMap.LabelStyle({color: '#6589DB', // 颜色属性size: 14, // 文字大小属性offset: { x: 0, y: 0 }, // 文字偏移属性单位为像素angle: 0, // 文字旋转属性alignment: 'center', // 文字水平对齐属性verticalAlignment: 'middle' // 文字垂直对齐属性})},geometries: [{id: 'label', // 点图形数据的标志信息styleId: 'label', // 样式idposition: center, // 标注点位置content: addressName, // 标注文本properties: {// 标注点的属性数据title: 'label'}}]})// 创建信息窗口const info = new window.TMap.InfoWindow({map,position: map.getCenter(),offset: { x: 0, y: -32 }})info.close()map.on('click', (evt) => {console.log(evt)// 获取click事件返回的poi信息const poi = evt.poiif (poi) {// 拾取到POIinfo.setContent(poi.name).setPosition(poi.latLng).open()} else {// 没有拾取到POIinfo.close()}})// 自执行中心点方法setCenter(map, arr)maketLyer.on('click', (event) => {console.log(event)info.open()info.setPosition(event.geometry.position)info.setContent(event.geometry.position.toString())})
}function setCenter(map, arr) {map.setCenter(new window.TMap.LatLng(arr[0], arr[1]))
}

主要需要在主结构处引入腾讯地图
public文件中的index

贴上一个博主的具体参考


以上只用作学习笔记

后台基于elment-dialog展示打卡定位腾讯地图相关推荐

  1. 小程序之定位签到打卡=>腾讯地图SDK

    说明:文章部分内容及图片出自网络,如有侵权请与我本人联系(主页有公众号:小攻城狮学前端) 作者:小只前端攻城狮. 主页:小只前端攻城狮. 首发:掘金 GitHub:P-J27. CSDN:PJ想做前端 ...

  2. php微信使用腾讯地图进行定位,微信定位+腾讯地图导航

    var transferService = newqq.maps.TransferService({//location: "广州", complete: function (re ...

  3. SemSegMap :基于3D点云语义信息的定位

    点云PCL免费知识星球,点云论文速读. 文章:SemSegMap - 3D Segment-Based Semantic Localization 作者:Andrei Cramariuc, Flori ...

  4. 微信后台基于时间序的新一代海量数据存储架构的设计实践

    本文作者腾讯WXG后台开发工程师jeryyzhang,收录时有改动,感谢原作者的分享. 1.引言 大约3年前,微信技术团队分享了<微信后台基于时间序的海量数据冷热分级架构设计实践>一文,文 ...

  5. 基于Andriod的智慧校园卡系统的设计与实现

    目录 1.课题研究立项依据 2.文献综述 3.课题研究的基本内容及预期目标或成果 4.课题的研究方案 5.研究进度安排 6.主要参考文献 1.课题研究立项依据 随着信息技术的不断发展,数字化.智能化校 ...

  6. 开源一个后台基于bmob云端的社交app

    今日科技快讯 7月17日起,乘坐G.D字头的动车组列车出行的旅客,可以通过12306网站.手机APP等方式订餐,订餐支持支付宝以及微信支付.乘客可订所乘列车餐车供应的餐食,也可预订沿途供餐站供应的社会 ...

  7. 基于Andriod的智慧校园卡一卡通系统的设计与实现

    1.课题研究立项依据 随着信息技术的不断发展,数字化.智能化校园的提出与教育现代化建设的不断推进,智能卡技术的不断发展进步,国内各高校都在发展建设各自的高校校园卡信息管理系统.按照某某大学关于建设高校 ...

  8. 基于激光雷达的里程计及3D点云地图中的定位方法

    本文转载自公众号@点云PCL,基于激光雷达的里程计及3D点云地图中的定位方法 :https://mp.weixin.qq.com/s/laA1YAPBCpqlzdGi0yb2cQ 论文:LOL: Li ...

  9. 基于腾讯地图定位组件实现周边POI远近排序分布图

    前言 地图应用非常广泛,目前地图服务,都提供地图操作.标注.地点搜索.出行规划.地址解析.街景等接口,功能非常丰富.在实际开发过程中,各有优劣.本次基于需求,使用腾讯位置服务作为一个公用厕所位置标注的 ...

最新文章

  1. Visual Studio 2005 IDE 技巧和窍门
  2. 成都python工作-成都python就业
  3. spark中local模式与cluster模式使用场景_Spark-Submit 和 K8S Operation For Spark
  4. 机器学习知识点(二十八)Beta分布和Dirichlet分布理解
  5. 机器学习——梯度下降算法
  6. (chap 2 简单的Http协议) HTTP方法(1)getput
  7. 技术选型:为什么批处理我们却选择了Flink
  8. 大学计算机基础毕业论文操作步骤,大学计算机基础教学论文
  9. UI设计师收好!哪些会说故事的插画素材!
  10. 迟来的2013年总结及算法工程师/研究员找工作总结
  11. Cassandra Vs Voldemort
  12. Centos 7(linux)echo 用法的注意事项
  13. 人才外包公司成本大揭露——一个外包人员的分析
  14. Windows10 关于系统中断CPU占用过高导致电脑变卡的解决办法
  15. 计及需求侧响应日前、日内两阶段鲁棒备用优化(Matlab代码实现)
  16. mysql delete using,MySQL delete from database where
  17. Docker Swarm简单教程
  18. VLAN的划分方法有哪些?
  19. arcgis表转excel一直失败_Excel表转换为shp格式时属性值丢失问题
  20. python运维开发做什么_想做运维开发工程师,Python Django学的很迷茫,怎么办?...

热门文章

  1. 数字通信世界杂志数字通信世界杂志社数字通信世界编辑部2022年第8期目录
  2. Java 简体繁体 几种处理方式
  3. 工程伦理 第八章习题 答案
  4. Matlab:在键入时检查语法
  5. 【Android】开发一个简单时钟应用每天看时间起床
  6. 关于Facebook Messenger CRM,这里有你想要知道的一切
  7. 「Adobe国际认证」用视觉品牌吸引你的用户
  8. logit回归模型假设_一文让你搞懂Logistic回归模型
  9. web设计与制作|DW故宫景点介绍网页设计制作|web旅游景点网站模板成品|html故宫介绍网页设计制作源码|HTML5期末大作业
  10. 亚马逊云计算服务器在哪,亚马逊云服务(AWS)的“服务器型号“已近400种