欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3引入騰訊地圖包含標(biāo)注簡(jiǎn)易操作指南

 更新時(shí)間:2024年09月18日 08:36:52   作者:RyzenVega  
這篇文章主要介紹了Vue3引入騰訊地圖的相關(guān)資料,并實(shí)現(xiàn)點(diǎn)擊地圖添加標(biāo)注的功能,示例代碼提供了添加單個(gè)或多個(gè)標(biāo)注的方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. 引入騰訊地圖API

JavaScript API | 騰訊位置服務(wù) (qq.com)

首先在官網(wǎng)注冊(cè)賬號(hào) 并正確獲取并配置key后  找到合適的引入方式  本文不涉及版本操作和附加庫(kù)   據(jù)體引入?yún)?shù)參考如下圖

具體以鏈接中官方參數(shù)為準(zhǔn)標(biāo)題

在項(xiàng)目根目錄 index.html 中 寫入如下代碼

<!-- 引入騰訊地圖 -->
<script src="https://map.qq.com/api/gljs?v=1.exp&key=你的key"></script>

  粘貼后key替換為自己的key

2. 創(chuàng)建容器

<div class="map_container" ref="mapRef"></div>
.map_container {
    width: 500px;
    height: 500px;
    position: relative;

    // 阻止復(fù)制
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE/Edge */
    user-select: none; /* 標(biāo)準(zhǔn)語(yǔ)法 */
}

3. 渲染地圖

<script setup>
import { nextTick, ref, onMounted } from 'vue';

onMounted(() => {
  // 渲染地圖
  nextTick(() => {
    initMap();
  });
});

// 經(jīng)緯度
const formData = ref({
  lat: 39.98412,
  lng: 116.307484,
})


// 地圖實(shí)例
let map = null

// marker圖層
let markerLayer = null

// 初始化地圖
const mapRef = ref(null)
const TMap = window.TMap
const initMap = () => {
  //定義地圖中心點(diǎn)坐標(biāo)
  const mapCenter = new TMap.LatLng(formData.value.lat, formData.value.lng)
  map = new TMap.Map(mapRef.value, {
    center: mapCenter, //設(shè)置地圖中心點(diǎn)坐標(biāo)
    zoom: 17, //設(shè)置地圖縮放級(jí)別
    pitch: 0, //設(shè)置俯仰角
    rotation: 0, //設(shè)置地圖旋轉(zhuǎn)角度
    viewMode: '2D'
  })

  // 以下代碼按需添加
  // 移除logo以及左下角信息
  // let logoInfo = document.querySelector('canvas+div:last-child')
  // logoInfo.style.display = 'none'
  // 禁止拖拽
  // map.setDraggable(false);
  // 禁止縮放
  // map.setScrollable(false);
  //移除控件縮放
  // map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ZOOM);
  // 移除比例尺控件
  // map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.SCALE);
  // 移除旋轉(zhuǎn)控件
  // map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ROTATION);

}
</script>

4. 點(diǎn)擊地圖  添加單個(gè)標(biāo)注

添加多個(gè)標(biāo)注只需刪除以下函數(shù)即可

markerLayer.setGeometries([])

示例代碼: 

<script setup>
import { nextTick, ref, onMounted } from 'vue';

onMounted(() => {
  // 渲染地圖
  nextTick(() => {
    initMap();
  });
});

// 經(jīng)緯度
const formData = ref({
  lat: 39.98412,
  lng: 116.307484,
})

// 地圖實(shí)例
let map = null
// marker圖層
let markerLayer = null
// 初始化地圖
const mapRef = ref(null)
const TMap = window.TMap
const initMap = () => {
  //定義地圖中心點(diǎn)坐標(biāo)
  const mapCenter = new TMap.LatLng(formData.value.lat, formData.value.lng)
  map = new TMap.Map(mapRef.value, {
    center: mapCenter, //設(shè)置地圖中心點(diǎn)坐標(biāo)
    zoom: 17, //設(shè)置地圖縮放級(jí)別
    pitch: 0, //設(shè)置俯仰角
    rotation: 0, //設(shè)置地圖旋轉(zhuǎn)角度
    viewMode: '2D'
  })

  // 以下代碼按需添加
  // 移除logo以及左下角信息
  // let logoInfo = document.querySelector('canvas+div:last-child')
  // logoInfo.style.display = 'none'
  // 禁止拖拽
  // map.setDraggable(false);
  // 禁止縮放
  // map.setScrollable(false);
  //移除控件縮放
  // map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ZOOM);
  // 移除比例尺控件
  // map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.SCALE);
  // 移除旋轉(zhuǎn)控件
  // map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ROTATION);

  //初始化marker圖層
  markerLayer = new TMap.MultiMarker({
    map: map
  })
  addMarker()
  map.on('click', clickHandler)
}

// 地圖點(diǎn)擊事件
const clickHandler = (event) => {
  const { lat, lng } = event.latLng
  formData.value.lat = String(lat).slice(0, 8)
  formData.value.lng = String(lng).slice(0, 8)
  addMarker()
}

// 添加標(biāo)注
const addMarker = () => {
  // 清空標(biāo)注 使其始終為一個(gè)
  markerLayer.setGeometries([])
  markerLayer.add({
    position: new TMap.LatLng(formData.value.lat, formData.value.lng)
  })
}

</script>

5.最終效果

總結(jié)

到此這篇關(guān)于Vue3引入騰訊地圖包含標(biāo)注簡(jiǎn)易操作的文章就介紹到這了,更多相關(guān)Vue3引入騰訊地圖標(biāo)注內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue3中的組合式?API示例詳解

    Vue3中的組合式?API示例詳解

    組合式 API 是一系列 API 的集合,使我們可以使用函數(shù)而不是聲明選項(xiàng)的方式書寫 Vue 組件,這篇文章主要介紹了什么是Vue3的組合式?API,需要的朋友可以參考下
    2022-06-06
  • Vue?element-ui?el-cascader?只能末級(jí)多選問題

    Vue?element-ui?el-cascader?只能末級(jí)多選問題

    這篇文章主要介紹了Vue?element-ui?el-cascader?只能末級(jí)多選問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue2項(xiàng)目中封裝echarts地圖的優(yōu)雅方法

    vue2項(xiàng)目中封裝echarts地圖的優(yōu)雅方法

    這篇文章主要給大家介紹了關(guān)于vue2項(xiàng)目中封裝echarts地圖的優(yōu)雅方法,需要的朋友可以參考下
    2022-03-03
  • 詳解Vue-cli 創(chuàng)建的項(xiàng)目如何跨域請(qǐng)求

    詳解Vue-cli 創(chuàng)建的項(xiàng)目如何跨域請(qǐng)求

    本篇文章主要介紹了詳解Vue-cli 創(chuàng)建的項(xiàng)目如何跨域請(qǐng)求 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • 解析Vue 2.5的Diff算法

    解析Vue 2.5的Diff算法

    本文將對(duì)于Vue 2.5.3版本中使用的Virtual Dom進(jìn)行分析。updataChildren是Diff算法的核心,所以本文對(duì)updataChildren進(jìn)行了圖文的分析。下面通過(guò)本文給大家分享Vue 2.5的Diff算法,需要的朋友參考下吧
    2017-11-11
  • Vue3子組件實(shí)現(xiàn)v-model用法的示例代碼

    Vue3子組件實(shí)現(xiàn)v-model用法的示例代碼

    在Vue 3中,實(shí)現(xiàn)自定義的input組件并支持v-model綁定,涉及到對(duì)modelValue這個(gè)默認(rèn)prop的處理和對(duì)應(yīng)的update:modelValue事件的觸發(fā),本文給大家介紹了Vue3子組件實(shí)現(xiàn)v-model用法的示例,需要的朋友可以參考下
    2024-04-04
  • Vue中this.$nextTick()的理解與使用方法

    Vue中this.$nextTick()的理解與使用方法

    this.$nextTick是在下次dom更新循環(huán)之后執(zhí)行延遲回調(diào),在修改數(shù)據(jù)之后立即使用這個(gè)方法,獲取更新后的dom,下面這篇文章主要給大家介紹了關(guān)于Vue中this.$nextTick()的理解與使用的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • Vue實(shí)現(xiàn)子組件向父組件傳遞多個(gè)參數(shù)的方法

    Vue實(shí)現(xiàn)子組件向父組件傳遞多個(gè)參數(shù)的方法

    在Vue框架中,組件間的通信是一個(gè)常見的需求,特別是在子組件需要向父組件傳遞多個(gè)參數(shù)時(shí),合理的通信方式可以顯著提升代碼的可讀性和可維護(hù)性,本文將詳細(xì)介紹如何在Vue中實(shí)現(xiàn)子組件向父組件傳遞多個(gè)參數(shù),需要的朋友可以參考下
    2024-10-10
  • vue-cli3單頁(yè)構(gòu)建大型項(xiàng)目方案

    vue-cli3單頁(yè)構(gòu)建大型項(xiàng)目方案

    這篇文章主要介紹了vue-cli3單頁(yè)構(gòu)建大型項(xiàng)目方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • vue格式化element表格中的時(shí)間為指定格式

    vue格式化element表格中的時(shí)間為指定格式

    這篇文章主要介紹了vue中格式化element表格中的時(shí)間為指定格式,需要的朋友可以參考下
    2022-05-05

最新評(píng)論