ios - 需求:【室内定位】在【公司前台】让客户摇一摇手机,签到。
PHP中文网
PHP中文网 2017-04-18 09:14:04
0
5
384

1.限定了范围大概前台方圆50m范围内(公司在71楼,260m)
2.签到不需要让客户知道,所以只有摇一摇事件,没有界面。
3.公司前台的坐标能够拿到,我写定了。
4.我的做法是 :用自带的CoreLocation框架,拿到客户定位经纬度坐标,得到与前台的经纬度之间的距离(单位:米),距离小于50,则可以进行签到。

 func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
             
        /** 获取到最新的坐标 */
       let currentLocation : CLLocation = locations.last!
       
       let currentLongitude = currentLocation.coordinate.longitude
       let currentLatitude  = currentLocation.coordinate.latitude
        
        
        /** 客户坐标和目标坐标之间的距离 */
        let distance : CLLocationDistance = currentLocation.distanceFromLocation(SQLocation)
        
        finalDistance = distance
        
        distanceLabel.text = String(format: "距离SQ公司:%.2f 米",finalDistance)
    }

现在的问题是 : 用移动网络定位,效果很差劲,精确度比wifi下定位精确度低,信号不好剩下1格的时候,更新定位距离设为1m,也很久不更新定位。

有没有精确度高点的方案,难度小点,或者可以进行改进的地方。
需要使用高德地图吗,我只需要用户的定位,不做别的,自带的定位CoreLocation,难道满足不了?
PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(5)
阿神

題主的方案,可以選擇第三者定位方案,如所說的高德,或百度。可以參考相關API,百度定位iOS SDK

左手右手慢动作

這個估計不行,定位很坑爹的,有時候距離實際座標好幾百米,只能換種思路了,或者把50m的限制擴大

Peter_Zhu

現在市面上室內定位比較常用的是藍牙和WLAN

要求客戶開啟藍牙/WLAN就可以用iOS的CoreLocation獲取位置資訊了
(需要等iOS上傳對應的WLAN、藍牙的資料以及位置資訊回伺服器)

你這樣的需求,對比附近的WLAN、藍牙裝置mac位址就可以實現了

Ty80

使用BLE開發板或直接購買個ibeacon小設備,放到前台。可以精確到厘米級 也可以到10米+
Android /iOS可以直接進行近距離測距
iOS與Android都有相應的SDK
另外也可以使用微信搖一搖的方式,按照微信的協議集成

刘奇

看了看樓主的發文清單
建議樓主善用谷歌
不行多百度
這種問題隨便搜一下就一大堆

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板