高德地圖軌跡回放并提示具體信息

先上效果圖
在這里插入圖片描述
到達某地點后顯示提示語:比如:12:56分駛入康莊大道、左轉駛入xx大道等

<!doctype html>
<html>
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"><title>軌跡回放</title><link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/><style>html, body, #container {height: 100%;width: 100%;}.input-card .btn{margin-right: 1.2rem;width: 9rem;}.input-card .btn:last-child{margin-right: 0;}</style>
</head>
<body>
<div id="container"></div>
<div class="input-card"><h4>軌跡回放控制</h4><div class="input-item"><input type="button" class="btn" value="開始動畫" id="start" onclick="startAnimation()"/><input type="button" class="btn" value="暫停動畫" id="pause" onclick="pauseAnimation()"/></div><div class="input-item"><input type="button" class="btn" value="繼續動畫" id="resume" onclick="resumeAnimation()"/><input type="button" class="btn" value="停止動畫" id="stop" onclick="stopAnimation()"/></div>
</div>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=你的key值"></script>
<script>// JSAPI2.0 使用覆蓋物動畫必須先加載動畫插件AMap.plugin('AMap.MoveAnimation', function(){var marker, lineArr = [[116.478935,39.997761],[116.478939,39.997825],[116.478912,39.998549],[116.478912,39.998549],[116.478998,39.998555],[116.478998,39.998555],[116.479282,39.99856],[116.479658,39.998528],[116.480151,39.998453],[116.480784,39.998302],[116.480784,39.998302],[116.481149,39.998184],[116.481573,39.997997],[116.481863,39.997846],[116.482072,39.997718],[116.482362,39.997718],[116.483633,39.998935],[116.48367,39.998968],[116.484648,39.999861]];var map = new AMap.Map("container", {resizeEnable: true,center: [116.397428, 39.90923],zoom: 26,pitch: 55.94919957310569,rotation: 0,viewMode: '3D', //開啟3D視圖,默認為關閉buildingAnimation: true, //樓塊出現是否帶動畫zooms:[2,26],});marker = new AMap.Marker({map: map,position: [116.478935,39.997761],icon: "https://a.amap.com/jsapi_demos/static/demo-center-v2/car.png",offset: new AMap.Pixel(-13, -26),});var pathArr = [{ position: new AMap.LngLat(116.478935,39.997761),time:"到達時間1"},{ position: new AMap.LngLat(116.478939,39.997825),time:"到達時間2"},{ position: new AMap.LngLat(116.478912,39.998549),time:"到達時間3"},{ position: new AMap.LngLat(116.478998,39.998555),time:"到達時間4"},{ position: new AMap.LngLat(116.479282,39.99856),time:"到達時間5"},{ position: new AMap.LngLat(116.484648,39.999861),time:"到達時間6"},];var infoDiv = document.createElement('div');infoDiv.id = 'info';infoDiv.style.position ='fixed';infoDiv.style.left ='50%';infoDiv.style.top='0px';infoDiv.style.zIndex=100;infoDiv.style.background ='#fff';infoDiv.style.width='240px';infoDiv.style.height='50px';document.body.appendChild(infoDiv);// 繪制軌跡var polyline = new AMap.Polyline({map: map,path: lineArr,showDir:true,strokeColor: "#28F",  //線顏色// strokeOpacity: 1,     //線透明度strokeWeight: 6,      //線寬// strokeStyle: "solid"  //線樣式});var passedPolyline = new AMap.Polyline({map: map,strokeColor: "#AF5",  //線顏色strokeWeight: 6,      //線寬});//已知經過的最近時間點var lastTimedPointIndex=-1;marker.on('moving', function (e) {passedPolyline.setPath(e.passedPath);map.setCenter(e.target.getPosition(),true)// 設置旋轉角map.setRotation(-e.target.getOrientation());var position = e.passedPath[e.passedPath.length-1];var timedPoint = pathArr.find(function(p, index){var pointPassed = new AMap.LngLat(position.lng,position.lat).distance(p.position)<4;// 判斷兩點之間的直線距離是否小于4米if(pointPassed)lastTimedPointIndex = index;return pointPassed;})//如果找到有時間的點,并且該點是新經過的點,更新infoDivif(timedPoint && lastTimedPointIndex>-1){console.log(timedPoint.time)// 顯示時間信息infoDiv.innerHTML = timedPoint.time;}});map.setFitView();window.startAnimation = function startAnimation () {marker.moveAlong(lineArr, {// 每一段的時長duration: 500,//可根據實際采集時間間隔設置// JSAPI2.0 是否延道路自動設置角度在 moveAlong 里設置autoRotation: true,});};window.pauseAnimation = function () {marker.pauseMove();};window.resumeAnimation = function () {marker.resumeMove();};window.stopAnimation = function () {marker.stopMove();};});
</script>
</body>
</html>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/39843.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/39843.shtml
英文地址,請注明出處:http://en.pswp.cn/web/39843.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【前端CSS3】CSS顯示模式(黑馬程序員)

文章目錄 一、前言&#x1f680;&#x1f680;&#x1f680;二、CSS元素顯示模式&#xff1a;??????2.1 什么是元素顯示模式2.2 塊元素2.3 行內元素2.4 行塊元素2.5 元素顯示模式的轉換 三、總結&#x1f680;&#x1f680;&#x1f680; 一、前言&#x1f680;&#x1f…

巴圖自動化Modbus協議轉Profinet協議網關模塊連智能儀表與PLC通訊

一、現場要求:PLC作為控制器&#xff0c;儀表設備作為執行設備。執行設備可以實時響應PLC傳送的指令&#xff0c;并將數據反饋給PLC&#xff0c;從而實現PLC對儀表設備的控制和監控&#xff0c;實現對生產過程的精確控制。 二、解決方案:通過巴圖自動化Modbus協議轉Profinet協議…

前端面試題4(瀏覽器對http請求處理過程)

瀏覽器對http請求處理過程 當我們在瀏覽器中輸入URL并按下回車鍵時&#xff0c;瀏覽器會執行一系列步驟來處理HTTP請求并與服務器通信。下面是瀏覽器處理過程 1. 解析URL 瀏覽器首先解析輸入的URL&#xff0c;提取出協議&#xff08;通常是http://或https://&#xff09;、主…

Robust Test-Time Adaptation in Dynamic Scenarios--論文閱讀

論文筆記 資料 1.代碼地址 https://github.com/BIT-DA/RoTTA 2.論文地址 https://arxiv.org/abs/2303.13899 3.數據集地址 coming soon 1論文摘要的翻譯 測試時間自適應(TTA)旨在使預先7訓練的模型適用于僅具有未標記測試數據流的測試分布。大多數以前的TTA方法已經在…

為什么要卸載手機上面的抖音?

刪除抖音等社交媒體應用可能出于多種原因&#xff0c;這里列舉一些常見的考慮因素&#xff1a; 1. **時間管理**&#xff1a; 抖音和其他社交媒體平臺可能會占用大量時間&#xff0c;影響個人的日常生活和工作學習效率。 這個對于自己而言是一個客觀存在的事情&#xff1a; 2.…

安卓請求服務器[根據服務器的內容來更新spinner]

根據服務器的內容來更新spinner 本文內容請結合如下兩篇文章一起看: 騰訊云函數node.js返回自動帶反斜杠 騰訊云函數部署環境[使用函數URL] 現在有這樣一個需求,APP有一個下拉選擇框作為版本選擇,因為改個管腳就變成一個版本,客戶需求也很零散,所以后期會大量增加版本,這時候每…

數據預處理:統計關聯性分析/數據清洗/數據增強/特征工程實例

專欄介紹 1.專欄面向零基礎或基礎較差的機器學習入門的讀者朋友,旨在利用實際代碼案例和通俗化文字說明,使讀者朋友快速上手機器學習及其相關知識體系。 2.專欄內容上包括數據采集、數據讀寫、數據預處理、分類\回歸\聚類算法、可視化等技術。 3.需要強調的是,專欄僅介紹主…

gitLab使用流程

標題1.配置賬戶 git config --global user.name git config --global user.email mygitlabmali.cn 標題2.生成秘匙 ssh-keygen -t rsa -C “mygitlabmail.cn” 。 //輸入命令后一直回車 &#xff0c;輸入命令后一直回車&#xff08;密碼可以不填&#xff09;&#xff0c;至…

Java面試題系列 - 第2天

題目&#xff1a;Java中的線程池模型及其配置策略 背景說明&#xff1a;在Java多線程編程中&#xff0c;線程池是一種高效的線程復用機制&#xff0c;能夠有效管理和控制線程的創建與銷毀&#xff0c;避免頻繁創建和銷毀線程帶來的性能開銷。理解和掌握線程池的配置策略對于優…

Anaconda+Pycharm兩個軟件從頭到尾下載流程

前言&#xff1a; 1、使用教程前&#xff0c;請將電腦上的所有的Python卸載掉。再下載Anaconda&#xff0c;Anaconda這個軟件里面就含有python。 徹底刪除python方法&#xff1a; 1、計算機——屬性——高級系統設置——環境變量 2、查看電腦用戶自己設計的環境變量&#x…

【智能制造-8】輸送線運動控制算法

輸送線運動控制算法包含哪些內容&#xff1f; 輸送線運動控制算法包含以下幾個主要內容: 速度控制算法: 根據目標速度和當前實際速度,調整電機的輸出功率,達到所需的輸送線速度。 常見的算法包括PID控制、自適應控制等。位置/距離控制算法: 監控輸送線上物料的位置或移動距離…

Xilinx FPGA:vivado關于RAM的一些零碎的小知識

一、xilinx fpga嵌入式存儲單元 RAM----隨機存取存儲器&#xff1a;上電工作時可以隨時從任何一個指定的地址寫入&#xff08;存入&#xff09;或讀出&#xff08;取出&#xff09;信息。缺點是一旦斷電所存儲的數據將隨之丟失。RAM在計算機和數字系統中用來暫時性存儲程序、數…

golang net.url 標準庫

golang net.url 標準庫 Go 語言標準庫中的 net/url 包提供了用于 URL 解析、構建和查詢的功能。這個包使我們能夠處理 URL&#xff0c;從中提取出各個部分&#xff0c;比如協議、主機、路徑和查詢參數等。以下是 net/url 包中一些常用的功能&#xff1a; 解析URL&#xff1a;使…

下載安裝MySQL

1.軟件的下載 打開官網下載mysql-installer-community-8.0.37.0.msi 2.軟件的安裝 mysql下載完成后&#xff0c;找到下載文件&#xff0c;雙擊安裝 3.配置環境變量 4.自帶客戶端登錄與退出

護網藍隊面試

一、sql注入分類 **原理&#xff1a;**沒有對用戶輸入項進行驗證和處理直接拼接到查詢語句中 查詢語句中插?惡意SQL代碼傳遞后臺sql服務器分析執行 **從注入參數類型分&#xff1a;**數字型注入、字符型注入 **從注入效果分&#xff1a;**報錯注入、布爾注入、延時注入、聯…

測試引擎模擬接口實戰

在上一章的內容中&#xff0c;我簡單介紹了整個微服務的各個子模塊&#xff0c;還封裝了一些工具類。 當然&#xff0c;若還沒完成上次內容的也可以點擊右側的傳送門------傳送門 EngineApplication 在開發測試引擎模擬接口之前&#xff0c;還需要給xxx-engine創建一個Sprin…

bpftrace幾種使用實例

1. 排查內存泄漏 memory.c memory.bt 可以執行相關memory&#xff0c;用bpftrace追蹤malloc和free的過程 修改memory.bt&#xff0c;加上malloc和free統計&#xff0c;重新執行 2. 驗證tcp連接關閉是應用關閉還是內核關閉 nginx服務啟動后&#xff0c;會處于監聽狀態&…

Linux python3.6安裝mayavi報錯

需要將vtk版本降級&#xff0c;以及uninstall pyqt5&#xff08;安裝的vtk版本是9.3.1&#xff09; pip3 install vtk8.1.0 或者9.0.1 報錯 Building wheels for collected packages: mayavi Building wheel for mayavi (setup.py) ... error ERROR: Command errored out…

速盾:cdn防止采集?

CDN&#xff08;Content Delivery Network&#xff09;是一種網絡加速技術&#xff0c;主要用于分發網站內容給用戶&#xff0c;并提供一定的安全保護。CDN的主要作用是通過將網站的靜態資源&#xff08;如圖片、CSS、JS等&#xff09;緩存到分布在全球各地的服務器上&#xff…

imx6ull/linux應用編程學習(9)串口應用編程

什么是串口&#xff1f; 串口全稱叫做串行接口&#xff0c;串行接口指的是數據一個一個的按順序傳輸&#xff0c;通信線路簡單。使用兩條線即可實現雙向通信&#xff0c;一條用于發送&#xff0c;一條用于接收。串口通信距離遠&#xff0c;但是速度相對會低&#xff0c;串口是一…