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

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)
阿神

주제 소유자 솔루션의 경우 앞서 언급한 Amap 또는 Baidu와 같은 타사 포지셔닝 솔루션을 선택할 수 있습니다. 관련 API인 Baidu Positioning iOS SDK를 참고하실 수 있습니다

左手右手慢动作

아마도 작동하지 않을 것입니다. 실제 좌표에서 수백 미터 떨어져 있는 경우에는 마음을 바꾸거나 50m 제한을 확장해야 할 때도 있습니다.

Peter_Zhu

블루투스와 WLAN은 현재 시장에서 실내 측위용으로 널리 사용되고 있습니다

iOS의 CoreLocation을 사용하여 위치 정보를 얻으려면 고객에게 Bluetooth/WLAN을 켜야 합니다
(iOS가 해당 WLAN, Bluetooth 데이터 및 위치 정보를 서버에 다시 업로드할 때까지 기다려야 합니다)

가까운 WLAN 및 Bluetooth 장치의 Mac 주소를 비교하여 요구 사항을 실현할 수 있습니다

Ty80

BLE 개발보드를 사용하거나 소형 아이비콘 기기를 직접 구매하여 프런트에 맡겨주세요. 센티미터 수준 또는 최대 10미터까지 정확할 수 있습니다. +
Android/iOS에서 근거리 측정을 직접 수행할 수 있습니다
iOS와 Android에는 해당 SDK가 있습니다
또한 WeChat 흔들기 방법을 사용할 수도 있습니다. WeChat을 따르세요. 프로토콜 통합

刘奇

포스터 게시글 목록을 보니
포스터는 구글을 잘 활용하시길 권해드립니다
그렇지 않다면 바이두
이런 문제만 검색하시면 많이 나옵니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!