VUE3 腾讯地图 拾取坐标

news/2024/7/10 2:50:48 标签: vue, 腾讯地图

VUE3 腾讯地图 拾取坐标 (选地)

1. 注册key

https://lbs.qq.com/dev/console/application/mine (腾讯地图)

2. 具体代码
<div class="map-picker-container">
  <div id="mapContainer" class="map-container"></div>
  <!-- <div class="coordinate-info">
    当前坐标:{{ state.latitude }}, {{ state.longitude }}
  </div> -->
</div>
    const MAP_KEY = 'XXX-XXX-XXXX-XXXX'
    const visibleModel = ref(true)
    const state = reactive({
      mapObj: null,
      markerObj: null,
      latitude: null,
      longitude: null
    })
    onMounted(() => {
      const containerId = 'mapContainer'
      const TencentMapSDK = document.createElement('script')
      TencentMapSDK.src = `https://map.qq.com/api/js?v=2.exp&key=${MAP_KEY}&callback=initMapSDK`
      document.head.appendChild(TencentMapSDK)
      console.log(123456)
      window.initMapSDK = () => {
        // eslint-disable-next-line no-undef
        state.mapObj = new qq.maps.Map(document.getElementById(containerId), {
          // eslint-disable-next-line no-undef
          center: new qq.maps.LatLng(36.622438, 101.78043),
          zoom: 12
        })

        // eslint-disable-next-line no-undef
        qq.maps.event.addListener(state.mapObj, 'click', (event) => {
          const location = event.latLng
          state.latitude = location.getLat().toFixed(6)
          state.longitude = location.getLng().toFixed(6)

          if (!state.markerObj) {
            // eslint-disable-next-line no-undef
            state.markerObj = new qq.maps.Marker({
              position: location,
              map: state.mapObj
            })
          } else {
            state.markerObj.setPosition(location)
          }
        })
      }
    })

    const handleOk = () => {
      if (state.latitude && state.longitude) formState.coordinate = `${state.latitude},${state.longitude}`
    }
<style lang="scss">
.map-picker-container {
  display: flex;
  flex-direction: column;
}
.map-container {
  height: 500px;
}
.coordinate-info {
  margin-top: 10px;
  text-align: center;
}

http://www.niftyadmin.cn/n/429255.html

相关文章

linux- 定时任务清理日志

定时任务清理日志 一、查找并删除文件1.1 查找文件1.2 查找并删除 二、计划任务&#xff1a;2.1 创建shell脚本&#xff0c;并分配权限2.2 编辑shell脚本2.3 计划任务 linux是一个很能自动产生文件的系统&#xff0c;在实际部署运行中&#xff0c;发现日志文件会占用大量内存&a…

【linux】在Ubuntu下部署nginx——nginx的反向代理

介绍 这里是小编成长之路的历程&#xff0c;也是小编的学习之路。希望和各位大佬们一起成长&#xff01; 以下为小编最喜欢的两句话&#xff1a; 要有最朴素的生活和最遥远的梦想&#xff0c;即使明天天寒地冻&#xff0c;山高水远&#xff0c;路远马亡。 一个人为什么要努力&a…

写一个自定义View你都需要注意什么

本文主要是记录一下继承子View&#xff0c;所需要实现的方法&#xff0c;以及对自己的知识做一下梳理和记录&#xff0c;其中不少内容觉得自己应该是会的&#xff0c;但是实际写起来&#xff0c;还是遇到不少阻碍 构造方法 首先构造先了解一下构造方法&#xff0c;一般来说&a…

2023亚马逊云科技中国峰会之Serverless

序言 Amazon Web Services&#xff0c;是Amazon.com推出的一系列云计算服务。 它提供了一系列的基础设施服务、平台服务和软件服务&#xff0c;希望可以帮助我们更轻松地构建和管理基于云的应用程序。 今天来学习一下 Serverless 本文会介绍以下六个模块&#xff1a; 为什么会…

车间主任、班组长必读:生产车间的现场管理

与工厂车间操作层&#xff08;一线员工&#xff09;接触最多的基层管理者&#xff0c;即我们通常所说的班组长、车间主任等&#xff0c;他们是将企业战略规划落实到具体工作当中的终端管理者。 一线班组长的“角色” 1、责任者 对企业来说&#xff0c;班组长是基层的治理员&am…

【SA8295P 源码分析】17 - 设备虚拟化 之 Passthrough透传、Vdev Trap、HAB Socket 原理解析

【SA8295P 源码分析】17 - 设备虚拟化 之 Passthrough透传、Vdev Trap、HAB Socket 原理解析 一、Passthrough 透传独占方式二、HAB Socket 远程通信方式三、Vdev(Trap)敏感地址陷入方式系列文章汇总见:《【SA8295P 源码分析】00 - 系列文章链接汇总》 本文链接:《【SA8295…

k8s部署并访问Dashboard

一、部署dashboard 1、在下面链接上查看dashboard的版本 https://github.com/kubernetes/dashboard/releases2、使用如下命令创建 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml3、部署成功之后&#xff0c…

h5 pdf 预览or下载

vue 一、浏览器中 1.1、直接获取到pdf文件的url&#xff0c;使用window.open() window.open(url) 1.2、通过 a 标签&#xff0c;设置 href 为 url 值&#xff0c;点击 a 标签即可完成下载 <a hrefurl download文件名></a> 我直接使用以上方法会直接下载&…