讓 Deepseek GPS測速

下面是一個簡單的微信小程序GPS測速功能的實現代碼,包括前端頁面和后端邏輯。

1. 頁面結構 (index.wxml)

<view class="container"><view class="speed-display"><text class="speed-value">{{speed}}</text><text class="speed-unit">km/h</text></view><view class="info-section"><view class="info-item"><text>經度:</text><text>{{longitude}}</text></view><view class="info-item"><text>緯度:</text><text>{{latitude}}</text></view><view class="info-item"><text>精度:</text><text>{{accuracy}}米</text></view></view><button bindtap="startGPS" type="primary" disabled="{{isRunning}}">開始測速</button><button bindtap="stopGPS" type="warn" disabled="{{!isRunning}}">停止測速</button>
</view>

2. 頁面樣式 (index.wxss)

.container {display: flex;flex-direction: column;align-items: center;padding: 20px;
}.speed-display {display: flex;align-items: baseline;margin: 40px 0;
}.speed-value {font-size: 60px;font-weight: bold;
}.speed-unit {font-size: 20px;margin-left: 5px;
}.info-section {width: 100%;margin: 30px 0;
}.info-item {display: flex;justify-content: space-between;margin: 10px 0;padding: 10px;background-color: #f5f5f5;border-radius: 5px;
}button {width: 80%;margin: 10px 0;
}

3. 頁面邏輯 (index.js)

Page({data: {speed: '0.00',longitude: '--',latitude: '--',accuracy: '--',isRunning: false,gpsWatchId: null,lastPosition: null,lastUpdateTime: null},startGPS: function() {const that = this;// 檢查是否已經授權wx.getSetting({success(res) {if (!res.authSetting['scope.userLocation']) {// 未授權,請求授權wx.authorize({scope: 'scope.userLocation',success() {that._startWatching();},fail() {wx.showToast({title: '需要位置權限',icon: 'none'});}});} else {// 已授權,開始監聽that._startWatching();}}});},_startWatching: function() {const that = this;this.setData({isRunning: true,speed: '0.00'});// 開始監聽位置變化const watchId = wx.startLocationUpdate({type: 'gcj02',success: () => {wx.onLocationChange(function(res) {that._updatePosition(res);});},fail(err) {console.error('啟動位置監聽失敗', err);wx.showToast({title: '啟動失敗',icon: 'none'});that.setData({ isRunning: false });}});this.setData({ gpsWatchId: watchId });},_updatePosition: function(position) {const now = Date.now();let speed = 0;if (this.data.lastPosition && this.data.lastUpdateTime) {// 計算距離(米)const distance = this._calculateDistance(this.data.lastPosition.latitude, this.data.lastPosition.longitude,position.latitude,position.longitude);// 計算時間差(小時)const timeDiff = (now - this.data.lastUpdateTime) / 1000 / 3600;// 計算速度(公里/小時)if (timeDiff > 0) {speed = distance / 1000 / timeDiff;}}this.setData({speed: speed.toFixed(2),longitude: position.longitude.toFixed(6),latitude: position.latitude.toFixed(6),accuracy: position.accuracy.toFixed(0),lastPosition: position,lastUpdateTime: now});},// 計算兩個坐標點之間的距離(米)_calculateDistance: function(lat1, lon1, lat2, lon2) {const R = 6371000; // 地球半徑,單位米const dLat = (lat2 - lat1) * Math.PI / 180;const dLon = (lon2 - lon1) * Math.PI / 180;const a = Math.sin(dLat/2) * Math.sin(dLat/2) +Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) * Math.sin(dLon/2) * Math.sin(dLon/2);const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));return R * c;},stopGPS: function() {if (this.data.gpsWatchId) {wx.stopLocationUpdate({success: () => {wx.offLocationChange();this.setData({ isRunning: false,gpsWatchId: null});},fail(err) {console.error('停止位置監聽失敗', err);}});}},onUnload: function() {// 頁面卸載時停止監聽this.stopGPS();}
});

4. 配置文件 (app.json)

確保在app.json中聲明了位置權限:

{"pages": ["pages/index/index"],"permission": {"scope.userLocation": {"desc": "你的位置信息將用于測速功能"}},"requiredPrivateInfos": ["getLocation", "onLocationChange", "startLocationUpdate"]
}

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

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

相關文章

什么是軟件的生命周期,以及常見的開發測試模型

目錄 一、軟件的生命周期 1、什么是生命周期&#xff1f; 2、每個階段都要做些什么&#xff1f; 二、常見的開發模型 1、瀑布模型 2、螺旋模型 3、增量模型、迭代模型 4、敏捷模型 scrum模型 三個角色 五個會議 一、軟件的生命周期 1、什么是生命周期&#xff…

JWT安全:弱簽名測試.【實現越權繞過.】

JWT安全&#xff1a;假密鑰【簽名隨便寫實現越權繞過.】 JSON Web 令牌 (JWT)是一種在系統之間發送加密簽名 JSON 數據的標準化格式。理論上&#xff0c;它們可以包含任何類型的數據&#xff0c;但最常用于在身份驗證、會話處理和訪問控制機制中發送有關用戶的信息(“聲明”)。…

數據分析與應用-----使用scikit-learn構建模型

目錄 一、使用sklearn轉換器處理數據 &#xff08;一&#xff09;、加載datasets模塊中的數據集 &#xff08;二&#xff09;、將數據集劃分為訓練集和測試集 ?編輯 train_test_spli &#xff08;三&#xff09;、使用sklearn轉換器進行數據預處理與降維 PCA 二、 構…

【Tomcat】Tomcat端口僅允許本地訪問設置方法

要設置Tomcat端口僅允許本地訪問&#xff0c;可以通過以下兩種主要方式實現&#xff1a; 方法一&#xff1a;修改Tomcat配置文件&#xff08;推薦&#xff09; 修改 server.xml 文件 打開Tomcat的配置文件 conf/server.xml&#xff0c;找到 <Connector> 標簽&#xff08;…

arcgis字段計算器中計算矢量面的每個點坐標

python腳本 函數 def ExportCoordinates(feat):coors = []partnum = 0partcount = feat.partCountwhile partnum < partcount:part = feat.getPart(partnum)pnt = part.next()while pnt:coors.append("({}, {})".format(pnt.X,pnt.Y))pnt = part.next()if not p…

企業級AI開啟落地戰,得場景者得天下

文&#xff5c;白 鴿 編&#xff5c;王一粟 這兩周&#xff0c;企業級智能體開發平臺頗有你方唱罷我方登臺的架勢。 微軟、騰訊、網易等國內外巨頭&#xff0c;近期都相繼宣布推出了新一代智能體開發平臺。相比于兩年前&#xff0c;智能體開發的產品邏輯已經有了翻天覆地的變…

探索C++標準模板庫(STL):String接口實踐+底層的模擬實現(中篇)

前引&#xff1a;上一篇文章小編已經整理出了String的常用接口&#xff0c;梳理了各個接口的功能、參數&#xff0c;如何使用等各種實例。本篇文章將帶大家看看String這些接口的實踐使用&#xff0c;探索這些接口的實用性&#xff0c;是如何增加代碼效率的。在本篇文章的末尾&a…

【模型顯著性分析】配對樣本 t 檢驗

寫在前面&#xff1a;本博客僅作記錄學習之用&#xff0c;部分圖片來自網絡&#xff0c;如需引用請注明出處&#xff0c;同時如有侵犯您的權益&#xff0c;請聯系刪除&#xff01; 文章目錄 前言 t t t 檢驗配對樣本 t t t 檢驗&#xff08;適用于相關組&#xff09;代碼論文描…

商旅平臺排名:十大商旅服務平臺解析

商旅平臺排名&#xff1a;十大商旅服務平臺解析 在企業降本增效的關鍵轉型期&#xff0c;商旅管理正成為優化運營成本與提升管理效能的核心場景。如何在保障出行體驗的同時實現差旅成本精細化管控、管理流程智能化&#xff0c;成為越來越多企業的戰略焦點。隨著AI技術在數據洞…

題海拾貝:P1208 [USACO1.3] 混合牛奶 Mixing Milk

Hello大家好&#xff01;很高興我們又見面啦&#xff01;給生活添點passion&#xff0c;開始今天的編程之路&#xff01; 我的博客&#xff1a;<但凡. 我的專欄&#xff1a;《編程之路》、《數據結構與算法之美》、《題海拾貝》、《C修煉之路》 歡迎點贊&#xff0c;關注&am…

每天掌握一個Linux命令 - ab(Apache Benchmark)

Linux 命令工具 ab 使用指南 一、工具概述 ab&#xff08;Apache Benchmark&#xff09; 是 Apache 官方提供的開源壓力測試工具&#xff0c;用于衡量 Web 服務器的性能。它通過模擬多并發請求&#xff0c;測試服務器在高負載下的響應速度、吞吐量和穩定性&#xff0c;常用于…

AI的“空間盲癥“

<------最重要的是訂閱“魯班模錘”------> 當我們看到一張照片時&#xff0c;大腦會自動分析其中的空間關系——哪個物體在前&#xff0c;哪個在后&#xff0c;左邊是什么&#xff0c;右邊是什么。但對于當今最先進的AI系統來說&#xff0c;這種看似簡單的空間理解卻是…

數據擬合實驗

實驗類型&#xff1a;●驗證性實驗 ○綜合性實驗 ○設計性實驗 實驗目的: 進一步熟練掌握最小二乘多項式擬合算法&#xff0c;提高編程能力和解決擬合問題的實踐技能。 實驗內容&#xff1a; 1 對下列數據&#xff0c;求解最小二乘拋物線f(x)Ax2BxC x -3 -1 1 3 y 15 5 …

系統思考:心智模式與業務創新

在最近的項目交付討論中&#xff0c;我頻繁聽到一個詞&#xff1a;“缺合適的人”。這讓我陷入了深思&#xff1a;我們是否還在傳統的生產力概念&#xff1f;納瓦爾提出的三種杠桿&#xff1a;勞動力、資本、零邊際成本產品。在當今這個信息化、全球化的商業世界中&#xff0c;…

python分步合并處理excel數據

文章目錄 概要整體架構流程技術名詞解釋技術細節小結概要 客戶需求 1. 背景與目標 用戶需要將三個包含農業實驗數據的Excel表格(AK、AN、AP)合并為一個結構化數據集,用于后續分析。每個表格包含相同類型的字段(如對照組與PSB處理組的樣本數、均值、標準差),但需通過字…

Python爬蟲實戰:研究PyQuery庫相關技術

1. 引言 1.1 研究背景與意義 隨著互聯網的快速發展,網絡上的數據量呈爆炸式增長。如何高效地從海量的網頁數據中提取有價值的信息,成為當前信息技術領域的一個重要研究方向。網絡爬蟲作為一種自動獲取網頁內容的程序,能夠按照一定的規則,自動地抓取萬維網信息,在搜索引擎…

深度學習---注意力機制(Attention Mechanism)

一、核心概念與發展背景 注意力機制是深度學習中模擬人類注意力選擇能力的關鍵技術&#xff0c;旨在從海量信息中篩選關鍵特征&#xff0c;解決長序列信息處理中的瓶頸問題&#xff08;如RNN的梯度消失&#xff09;。其核心思想是&#xff1a;對輸入序列的不同部分分配不同權重…

Jenkins分配對應項目權限與用戶管理

在日常開發過程中經常會出現用戶和權限管理問題&#xff0c;沒有配置trigger時&#xff0c;通常需要我們手動構建&#xff0c;但此時前端和后端的朋友沒有build權限&#xff0c;導致每次dev環境測試都需要麻煩我們手動去構建&#xff0c;消息傳達不及時則會降低開發效率。 現有…

XCTF-web-file_include

解析 <?php highlight_file(__FILE__); // 高亮顯示當前PHP文件源代碼 include("./check.php"); // 包含檢查文件&#xff08;可能包含安全過濾邏輯&#xff09;if(isset($_GET[filename])) { // 檢查是否傳入filename參數$filename $_GET[f…

matlab全息技術中的菲涅爾仿真成像

matlab全息技術中的菲涅爾仿真成像程序。 傅里葉法&#xff08;重建距離得大&#xff09;/Fresnel.m , 545 傅里葉法&#xff08;重建距離得大&#xff09;/FresnelB.m , 548 傅里葉法&#xff08;重建距離得大&#xff09;/Fresnel_solution.m , 1643 傅里葉法&#xff08;重…