移動端基於LBS實現簽到功能可行性分析
手機定位知識背景:
1、GPS定位:通過接收衛星訊號,直接得到手機的位置座標。(不需要聯網,可以完全離線定位,但是必須在天空比較開闊的地方,否則接收不到衛星訊號。GPS定位,精度較高,可達到10米,但室內不可用,且超級費電。)。
2、網路定位:網路定位,分為wifi定位和基站定位,都是通過獲取wifi或者基站資訊,然後查詢對應的wifi或者基站位置資料庫,得到的定位地點。定位資料庫可以不斷完善不斷補充,所以,越定位越準確。
2.1、WIFI定位:通過掃描手機周圍的WIFI接入點,再把掃描到的接入點資訊通過伺服器對比,伺服器再告訴手機所在的位置(這種定位方式需要網際網路支援且WIFI要開啟)。
2.2、基站定位:手機直接把自己所連線的基站以及能夠掃描到的基站資訊提供給伺服器(比如中國移動的基站,每個基站間隔幾百到幾千米,每個基站都有自己的程式碼),再由伺服器告知手機所在位置(也需要網際網路支援)。
LBS簽到應用場景模擬分析:
這幾天我查閱網上很多關於移動端考勤的資料中,大部分的考勤APP都有用到基於LBS定位功能對業務功能進行支援,在我們應用時,利用gps定位的機率很小,如上所述GPS定位的要求和限制較高,那對於我們來說,使用網路定位是一個不錯的選擇,尤其是在市區基站和WiFi分佈密集的地方,我基於iOS系統做了一個簡單的定位的APP,通過實驗得出,通過WiFi定位的精度要比基站定位高很多,比如(我現在是在公司,用WiFi定位可以定位到xxx大廈,誤差相當小,可以定位到當前建築,如果換成是4g的話,精度就取決於周圍基站的覆蓋程度了,以當前位置當前網路環境來看,誤差在幾百米,而且不是固定的)。
簽到功能實現思路:
移動終端裝置都有獲取當前經緯度的功能,將獲取的當前的經緯度上傳給後臺,後臺設定一個固定座標點,將當前設定座標點與終端回傳的座標點進行比對,將比對結果(是否在當前合理範圍內,簽到是否成功)回傳給終端裝置。
LBS簽到現存在的問題:
1、基於網路定位於網路環境關係很大,精確度變化範圍不可控,從而獲取的座標點不夠精確。
2、隨著LBS簽到功能的興起,單一的通過定位來實現簽到的模式已經司空見慣了,隨之就出現了很多破解定位技術的產生,比如:安卓在獲得root許可權之後,可以開啟開發者模式中的模擬定位,iPhone 在越獄之後可以通過模擬定位來獲取虛擬位置進行作弊,所以單一的定位簽到功能並不是很實用。
兩種簽到思路對比:
這幾天我也認真檢視了我們APP現有的簽到功能,現有的功能是基於WiFi進行簽到,我們會在連線到網路進行自動簽到或者手動簽到的時候對當前網路IP和WiFi進行校驗,以驗證當前網路是否是當前學校規定使用的WiFi,然後後臺會進行校驗處理是否是當前應該使用的WiFi,和簽到是否成功。WiFi的輻射範圍較小相對來說更加精確,更適用於像學生上課集中在教學樓或者教室這種範圍較小空間使用。如果是利用LBS定位的話,可能在精確度上不如WiFi定位,但是相對於更靈活。
LBS簽到的可行性分析:
由上面的大概介紹,使用LBS進行簽到在技術上並不是很複雜,需要前後端的配合,比較容易實現,若只是用LBS進行定位簽到存在上面所述的一些問題。但是這項技術是一個很有輔助作用的技術,可以在WiFi簽到的基礎上結合LBS定位簽到,這也是市面上比較流行的防作弊考勤簽到技術,如果單一在我們APP上使用LBS進行簽到功能的實現,效果反而沒有現在用WiFi簽到效果好。
相關文章
- 基於Redis點陣圖實現使用者簽到功能Redis
- 實現基於React的移動端Swiper元件React元件
- laravel + redis + bitmap 實現簽到功能LaravelRedis
- H5實現移動端複製文字功能H5
- 基於slideout.js實現的移動端側邊欄滑動特效IDEJS特效
- 如何利用 Redis 快速實現簽到統計功能Redis
- H5實現移動端語音錄製功能H5
- 基於VUE移動端UI好用框架VueUI框架
- APP功能模組實現之思路歷程(基於iOS端)APPiOS
- vue移動助手實踐(一)——基於vue的換膚功能Vue
- 如何實現LBS軌跡回放功能?含多平臺實現程式碼
- 基於JQuery實現的文字框自動填充功能jQuery
- 基於 Redis 的 LBS 嘗試Redis
- 直播平臺原始碼開發,簽到功能的實現原始碼
- 基於vue2.0實現的vivo移動端商城(vue+vuex+vue-ruoter+webpack)VueWeb
- 基於Web實現遠端與硬體互動Web
- 移動端上滑實現翻頁功能
- 基於Masstransit實現Eventbus的功能
- 基於Vue實現圖片在指定區域內移動Vue
- 基於機器人自主移動實現SLAM建圖機器人SLAM
- React 服務端渲染實現 Gank 移動端React服務端
- 移動端頁面鍵盤出現“搜尋”按鍵且實現提交功能
- 軟體測試學習——移動端功能測試分析
- PHP實戰系列之一:0基礎開發移動端報名功能PHP
- 移動端基於動態路由的架構設計路由架構
- 基於weex的考拉移動端動態化方案
- 如何在移動端資料視覺化大屏實現分析?視覺化
- selenium實現疫情簽到
- 基於 Vue.js 的移動端元件庫mint-ui實現無限滾動載入更多Vue.js元件UI
- 阿里技術分享:閒魚IM基於Flutter的移動端跨端改造實踐阿里Flutter跨端
- Html5實現移動端、PC端 刮刮卡效果HTML
- 基於環信實現線上聊天功能
- Python基於TCP實現聊天功能PythonTCP
- js實現電子簽名功能JS
- 基於 vagrant搭建移動端的開發環境開發環境
- 基於lbs服務應用開發
- 【移動端開發】移動端開發基礎問題
- 基於 Agora SDK 實現 iOS 端的多人視訊互動GoiOS