亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                微信小程序實現活動軌跡回放

                微信小程序實現活動軌跡回放

                示例簡介

                本文介紹使用組件map和API的MapContext+wx.getLocation來實現活動軌跡回放。

                最終效果:

                實現過程

                1、文件index.wxml代碼如下,這一塊比較簡單,可自行查看分析;

                2、文件index.js存放所有功能的邏輯代碼,相對比較復雜,主要分析幾個重點方法

                1)方法getDistance用于計算兩個坐標點之間的距離,參數為兩個坐標點的經緯度;

                2)方法translateMarker使用translateMarker實現marker平移,為了實現多點之間連續(xù)平移,在內部嵌套方法translateMarker;

                3)wx.getLocation用來獲取當前的坐標點。

                Tips:

                points中的“+-”0.01等,無特別意義,可以自己任意修改;實際情況可調用接口獲取軌跡數據;

                duration = getDistance * 2中的2,無特別意義,可根據實際情況自行調整。

                // 全屏地圖路線圖并動畫移動// polyline中的points可以獲取json用來繪制軌跡圖// 獲取應用實例const app = getApp()Page({ data: { markers: [], // 標記點集合 polyline: [], // 坐標點集合 satellite: true, // 是否開啟衛(wèi)星圖 i: 0 // 用于循環(huán) }, onReady: function() { this.mapCtx = wx.createMapContext(‘map’); // 創(chuàng)建 map 上下文 MapContext 對象 }, onLoad: function() { let that = this; // 獲取當前坐標 wx.getLocation({ type: ‘wgs84’, success: (res) => { // 坐標集合 let points = [{ longitude: res.longitude, latitude: res.latitude }, { longitude: res.longitude + 0.01, latitude: res.latitude + 0.01 }, { longitude: res.longitude – 0.01, latitude: res.latitude + 0.02 }, { longitude: res.longitude – 0.01, latitude: res.latitude + 0.01 }, { longitude: res.longitude, latitude: res.latitude }]; // 標記點集合 let markers = points; markers.map((value, index) => { markers[index].id = index + 1; }); this.setData({ polyline: [{ points: points, color: “#FF0000DD”, width: 2 }], markers: markers, latitude: res.latitude, longitude: res.longitude }) this.translateMarker(markers); } }) }, // 平移marker,帶動畫 translateMarker: function(markers) { let that = this; let markerId = markers[that.data.i].id; let destination = { longitude: markers[that.data.i + 1].longitude, latitude: markers[that.data.i + 1].latitude }; let getDistance = that.getDistance(markers[that.data.i].latitude, markers[that.data.i].longitude, markers[that.data.i + 1].latitude, markers[that.data.i + 1].longitude); let duration = getDistance * 2; // 根據距離計算平移的速度,看起來保持勻速 this.mapCtx.translateMarker({ markerId: markerId, destination: destination, autoRotate: true, rotate: 30, duration: duration, success(res) { that.setData({ i: that.data.i + 1 }); // 小于長度減1才執(zhí)行 if (that.data.i < markers.length – 1) { that.translateMarker(markers); } }, fail(err) { console.log('fail', err) } }) }, // 計算兩坐標點之間的距離 getDistance: function(lat1, lng1, lat2, lng2) { let rad1 = lat1 * Math.PI / 180.0; let rad2 = lat2 * Math.PI / 180.0; let a = rad1 – rad2; let b = lng1 * Math.PI / 180.0 – lng2 * Math.PI / 180.0; let r = 6378137; return (r * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(rad1) * Math.cos(rad2) * Math.pow(Math.sin(b / 2), 2)))).toFixed(0) }})

                鄭重聲明:本文內容及圖片均整理自互聯網,不代表本站立場,版權歸原作者所有,如有侵權請聯系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月14日 12:21
                下一篇 2022年6月14日 12:22

                相關推薦

                • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應該怎么發(fā))

                  對于微商朋友來說,朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經營一個朋友圈,有的微商看起來逼格滿滿,實際效果也不錯;而有的卻動都不動就被屏蔽甚至拉黑…

                  2022年11月27日
                • 《寶可夢朱紫》夢特性怎么獲得?隱藏特性獲取方法推薦

                  寶可夢朱紫里有很多寶可夢都是擁有夢特性會變強的寶可夢,很多玩家不知道夢特性怎么獲得,下面就給大家?guī)韺毧蓧糁熳想[藏特性獲取方法推薦,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 …

                  2022年11月25日
                • 《寶可夢朱紫》奇魯莉安怎么進化?奇魯莉安進化方法分享

                  寶可夢朱紫中的奇魯莉安要怎么進化呢?很多玩家都不知道,下面就給大家?guī)韺毧蓧糁熳掀骠斃虬策M化方法分享,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 奇魯莉安進化方法分享 奇魯莉安…

                  2022年11月25日
                • 修瑪坐標(瑪修 百科)

                  本文主要講的是修瑪坐標,以及和瑪修 百科相關的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 LR的寶寶修馬在哪抓?具體是什么系的?技能又該怎么學? 獅王休瑪的坐標:6…

                  2022年11月25日
                • 科比19歲女兒遭自稱與她生“科比式孩子”男子跟蹤騷擾

                  極目新聞記者王亮亮黃佳琪 據??怂剐侣劸W報道,當地時間11月21日,已故籃球巨星科比·布萊恩特的長女娜塔莉亞·布萊恩特21日向法院提交臨時限制令,聲稱這位32歲的前科從十幾歲起就騷…

                  2022年11月24日
                • 今天出入濟南最新通知(出入濟南政策最新消息今天)

                  近日濟南疫情感染人數也在不斷增加,劃分的高風險區(qū)也是越來越多了。據最新統計,截止2022年11月24日11時,濟南共有低風險地區(qū)12處,高風險地區(qū)338處。很多朋友都擔心現在濟南無…

                  2022年11月24日
                • 免費清理c盤的軟件(清理c盤空間不影響系統)

                  電腦用久了慢如龜速,還卡頓,這最大的原因啊就是C盤空間不足造成的。 即使電腦配置再好,或者硬盤再快,如果長時間沒有打掃C盤,打開文件或者穩(wěn)定之類的,都卡得讓人頭大。 這時候呢不要去…

                  2022年11月24日
                • pdf虛擬打印機(添加pdf虛擬打印機)

                  本文主要講的是pdf虛擬打印機,以及和添加pdf虛擬打印機相關的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 pdf虛擬打印機具體是什么功能? 電腦虛擬打印機的功能有…

                  2022年11月24日
                • 《寶可夢朱紫》暴飛龍怎么抓?暴飛龍獲得方法

                  寶可夢朱紫暴飛龍位置在哪?在游戲中,很多玩家還不清楚暴飛龍具體要怎么樣獲得,其實獲得方法很簡單,暴飛龍直接是沒得抓的,需要玩家從寶貝龍進化得到,下面一起來看一下寶可夢朱紫暴飛龍獲得…

                  2022年11月23日
                • 《寶可夢朱紫》布土撥怎么進化?布土撥進化方法介紹

                  寶可夢朱紫中,不同的寶可夢有不同的進化方法,其中布土撥的進化方法是比較特殊的。很多玩家不知道寶可夢朱紫布土撥怎么進化,下面就帶來寶可夢朱紫布土撥進化方法介紹,一起來看看吧,希望能幫…

                  2022年11月23日

                聯系我們

                聯系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息