<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
1. 在 html 中通過引入 script 標籤載入API服務
<script src="https://map.qq.com/api/gljs?v=1.exp&key=你申請的騰訊地圖應用key"></script>
2. 在body中預先準備地圖容器,並在CSS樣式中定義地圖(容器)顯示大小
<div id="container"></div> #container { width: 100%; height: calc(100vh - 280px); border-radius: 10px; overflow: hidden; }
3. 建立並顯示地圖的程式碼
mounted() { this.initMap() }, methods: { initMap() { //設定地圖中心點 let center = new TMap.LatLng(39.984104, 116.307503); // 初始化地圖 this.map = new TMap.Map('container', { zoom: 15, center: center, // baseMap: { // 設定衛星地圖 // type: 'satellite' // } }); this.polylineLayer = new TMap.MultiPolyline({ map:this.map, // 繪製到目標地圖 // 折線樣式定義 styles: { style_blue: new TMap.PolylineStyle({ color: '#ff8d00', // 線填充色 width: 4, // 折線寬度 borderWidth: 2, // 邊線寬度 borderColor: '#FFF', // 邊線顏色 lineCap: 'round', // 線端頭方式 eraseColor: 'rgb(172,172,172)',//擦除路徑的顏色 }), }, geometries: [ { id: 'erasePath', styleId: 'style_blue', paths: this.path, }, ], }); this.marker = new TMap.MultiMarker({ map:this.map, // 繪製到目標地圖 styles: { 'car-down': new TMap.MarkerStyle({ width: 40, height: 40, anchor: { x: 20, y: 20, }, faceTo: 'map', rotate: 180, src: 'https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/car.png', }), start: new TMap.MarkerStyle({ width: 25, height: 35, anchor: {x: 16, y: 32}, src: 'https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/start.png', }), end: new TMap.MarkerStyle({ width: 25, height: 35, anchor: {x: 16, y: 32}, src: 'https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/end.png', }), }, geometries: [ { id: 'car', styleId: 'car-down', position: new TMap.LatLng(39.98481500648338, 116.30571126937866), }, { id: 'start', styleId: 'start', position: new TMap.LatLng(39.98481500648338, 116.30571126937866), }, { id: 'end', styleId: 'end', position: new TMap.LatLng(39.978813710266024, 116.31699800491333), }, ], }); } }
4. 建立動畫和標記
// 暫停動畫 pauseMove() { this.marker.pauseMove() }, // 停止動畫 resumeMove() { this.marker.resumeMove() }, // 開始動畫 startCar() { // 使用marker 移動介面, https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocMarker //呼叫moveAlong動畫 執行標記點動畫開始 this.marker.moveAlong( { car: { path: this.path,//移動路徑的座標串 // duration:8000,//完成移動所需的時間,單位:毫秒 speed: 250, //speed為指定速度,正整數,單位:千米/小時 }, }, { autoRotation: true,//自動旋轉 } ); //監聽事件名 this.marker.on('moving', (e) => { var passedLatLngs = e.car && e.car.passedLatLngs; if (passedLatLngs) { // 使用路線擦除介面 eraseTo, https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocVector this.polylineLayer.eraseTo( 'erasePath', passedLatLngs.length - 1, passedLatLngs[passedLatLngs.length - 1] ); } }); },
地圖元件完整程式碼
<template> <section> <el-button style="margin: 15px" size="mini" type="danger" @click="startCar">開始</el-button> <el-button style="margin: 15px" size="mini" type="danger" @click="pauseMove">暫停</el-button> <el-button style="margin: 15px" size="mini" type="info" @click="resumeMove">繼續</el-button> <div id="container"></div> </section> </template> <script> export default { name: "mk-map", data() { return { map: null, path: [ new TMap.LatLng(39.98481500648338, 116.30571126937866), new TMap.LatLng(39.982266575222155, 116.30596876144409), new TMap.LatLng(39.982348784165886, 116.3111400604248), new TMap.LatLng(39.978813710266024, 116.3111400604248), new TMap.LatLng(39.978813710266024, 116.31699800491333), new TMap.LatLng(39.988813710266024, 116.31699800491333), new TMap.LatLng(39.989813710266024, 116.31699800491333), new TMap.LatLng(39.990813710266024, 116.31699800491333), new TMap.LatLng(39.98481500648338, 116.30571126937866), ], polylineLayer: null, marker: null } }, mounted() { this.initMap() }, methods: { pauseMove() { this.marker.pauseMove() }, resumeMove() { this.marker.resumeMove() }, startCar() { // 使用marker 移動介面, https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocMarker //呼叫moveAlong動畫 執行標記點動畫開始 this.marker.moveAlong( { car: { path: this.path,//移動路徑的座標串 // duration:8000,//完成移動所需的時間,單位:毫秒 speed: 250, //speed為指定速度,正整數,單位:千米/小時 }, }, { autoRotation: true,//自動旋轉 } ); //監聽事件名 this.marker.on('moving', (e) => { var passedLatLngs = e.car && e.car.passedLatLngs; if (passedLatLngs) { // 使用路線擦除介面 eraseTo, https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocVector this.polylineLayer.eraseTo( 'erasePath', passedLatLngs.length - 1, passedLatLngs[passedLatLngs.length - 1] ); } }); }, initMap() { //設定地圖中心點 let center = new TMap.LatLng(39.984104, 116.307503); // 初始化地圖 this.map = new TMap.Map('container', { zoom: 15, center: center, // baseMap: { // 設定衛星地圖 // type: 'satellite' // } }); this.polylineLayer = new TMap.MultiPolyline({ map:this.map, // 繪製到目標地圖 // 折線樣式定義 styles: { style_blue: new TMap.PolylineStyle({ color: '#ff8d00', // 線填充色 width: 4, // 折線寬度 borderWidth: 2, // 邊線寬度 borderColor: '#FFF', // 邊線顏色 lineCap: 'round', // 線端頭方式 eraseColor: 'rgb(172,172,172)',//擦除路徑的顏色 }), }, geometries: [ { id: 'erasePath', styleId: 'style_blue', paths: this.path, }, ], }); this.marker = new TMap.MultiMarker({ map:this.map, // 繪製到目標地圖 styles: { 'car-down': new TMap.MarkerStyle({ width: 40, height: 40, anchor: { x: 20, y: 20, }, faceTo: 'map', rotate: 180, src: 'https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/car.png', }), start: new TMap.MarkerStyle({ width: 25, height: 35, anchor: {x: 16, y: 32}, src: 'https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/start.png', }), end: new TMap.MarkerStyle({ width: 25, height: 35, anchor: {x: 16, y: 32}, src: 'https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/end.png', }), }, geometries: [ { id: 'car', styleId: 'car-down', position: new TMap.LatLng(39.98481500648338, 116.30571126937866), }, { id: 'start', styleId: 'start', position: new TMap.LatLng(39.98481500648338, 116.30571126937866), }, { id: 'end', styleId: 'end', position: new TMap.LatLng(39.978813710266024, 116.31699800491333), }, ], }); } } } </script> <style lang="scss" scoped> #container { width: 100%; height: calc(100vh - 280px); border-radius: 10px; overflow: hidden; } </style>
到此這篇關於VUE引入騰訊地圖並實現軌跡動畫的文章就介紹到這了,更多相關vue引入騰訊地圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45