最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3引入騰訊地圖包含標注簡易操作指南

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

1. 引入騰訊地圖API

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

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

具體以鏈接中官方參數(shù)為準標題

在項目根目錄 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;

    // 阻止復制
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE/Edge */
    user-select: none; /* 標準語法 */
}

3. 渲染地圖

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

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

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


// 地圖實例
let map = null

// marker圖層
let markerLayer = null

// 初始化地圖
const mapRef = ref(null)
const TMap = window.TMap
const initMap = () => {
  //定義地圖中心點坐標
  const mapCenter = new TMap.LatLng(formData.value.lat, formData.value.lng)
  map = new TMap.Map(mapRef.value, {
    center: mapCenter, //設(shè)置地圖中心點坐標
    zoom: 17, //設(shè)置地圖縮放級別
    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. 點擊地圖  添加單個標注

添加多個標注只需刪除以下函數(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,
})

// 地圖實例
let map = null
// marker圖層
let markerLayer = null
// 初始化地圖
const mapRef = ref(null)
const TMap = window.TMap
const initMap = () => {
  //定義地圖中心點坐標
  const mapCenter = new TMap.LatLng(formData.value.lat, formData.value.lng)
  map = new TMap.Map(mapRef.value, {
    center: mapCenter, //設(shè)置地圖中心點坐標
    zoom: 17, //設(shè)置地圖縮放級別
    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)
}

// 地圖點擊事件
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()
}

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

</script>

5.最終效果

總結(jié)

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

相關(guān)文章

  • vue watch偵聽器有無immediate的運行順序問題

    vue watch偵聽器有無immediate的運行順序問題

    這篇文章主要介紹了vue watch偵聽器有無immediate的運行順序問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue3+vite使用History路由模式打包部署項目的步驟及注意事項

    vue3+vite使用History路由模式打包部署項目的步驟及注意事項

    這篇文章主要介紹了vue3+vite使用History路由模式打包部署項目的步驟及注意事項,配置過程包括在Vue項目中設(shè)置路由模式、調(diào)整打包配置以及Nginx服務(wù)器的配置,正確的部署配置能夠確保應用順利運行,提升用戶體驗,需要的朋友可以參考下
    2024-10-10
  • vue監(jiān)聽對象及對象屬性問題

    vue監(jiān)聽對象及對象屬性問題

    這篇文章主要介紹了vue監(jiān)聽對象及對象屬性問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • vue 獲取到數(shù)據(jù)但卻渲染不到頁面上的解決方法

    vue 獲取到數(shù)據(jù)但卻渲染不到頁面上的解決方法

    這篇文章主要介紹了vue 獲取到數(shù)據(jù)但卻渲染不到頁面上的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Vue開發(fā)實踐指南之應用入口

    Vue開發(fā)實踐指南之應用入口

    這篇文章主要給大家介紹了關(guān)于Vue開發(fā)實踐指南之應用入口的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-01-01
  • vue具名插槽的基本使用實例

    vue具名插槽的基本使用實例

    Vue 中的插槽在開發(fā)組件的過程中其實是非常重要并且好用的。下面這篇文章主要給大家介紹了關(guān)于vue具名插槽基本使用的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • vue使用echarts實現(xiàn)立體柱形圖

    vue使用echarts實現(xiàn)立體柱形圖

    這篇文章主要為大家詳細介紹了vue使用echarts實現(xiàn)立體柱形圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue渲染函數(shù)詳解

    Vue渲染函數(shù)詳解

    下面小編就為大家?guī)硪黄猇ue渲染函數(shù)詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue2前端生成二維碼并實現(xiàn)掃碼跳轉(zhuǎn)完整教程

    Vue2前端生成二維碼并實現(xiàn)掃碼跳轉(zhuǎn)完整教程

    在現(xiàn)代Web應用開發(fā)中,二維碼掃描已成為連接物理世界與數(shù)字世界的核心橋梁,這篇文章主要介紹了Vue2前端生成二維碼并實現(xiàn)掃碼跳轉(zhuǎn)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-04-04
  • Vue如何引入遠程JS文件

    Vue如何引入遠程JS文件

    本篇文章主要介紹了Vue引入遠程JS文件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04

最新評論

科技| 衡东县| 易门县| 平乡县| 宿迁市| 南京市| 安阳县| 新余市| 集贤县| 邮箱| 凤山市| 灵石县| 海盐县| 武川县| 桦南县| 行唐县| 昌江| 东乡族自治县| 启东市| 平定县| 海原县| 罗甸县| 黄石市| 迁西县| 光山县| 桓仁| 志丹县| 正安县| 信阳市| 娱乐| 淅川县| 玛多县| 沅江市| 涿鹿县| 修文县| 汤原县| 甘谷县| 莲花县| 隆德县| 桃江县| 抚宁县|