古詩詞大全網 - 四字成語 - IOS 判斷GPS信號強弱

IOS 判斷GPS信號強弱

今天公司要加個添加行程軌跡的需求,同時需要加上Gps信號弱的時候,比如跑到山區或者無人區的時候需要添加GPS處理,網上找了壹些辦法,都是關於弱網和飛行模式下的處理,或者用高德sdk的軌跡糾偏,沒有關於GPS信號弱的判斷,就自己寫了壹個方法,供參考,當我們使用高德地圖的時候,更新位置壹般會調用(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation委托代理方發,此時我們可以根據MKUserLocation的location屬性,根據location屬性的horizontalAccuracy來判斷GPS信號強弱,horizontalAccuracy的單位為米,代表GPS信號的精確度,越低表示定位越準確,需要註意的是當為負數,表示沒有GPs信號。所以可以根據這個屬性來判斷GPS的信號強度。

根據打印出的信號強度,正常gps信號都在18,20多,在室內的話,壹般大於100多的時候,表示定位不太準確了,室外運動的時候,我把它定位143,因為產品特意跑到隧道裏測的?♂?。希望對大家有幫助

- (NSInteger)judgeGpsSingal:(CLLocation*)userLocation

{

if (userLocation.horizontalAccuracy<0)

{

// 沒有Gps信號

return ? -1;

}

else if (userLocation.horizontalAccuracy>143)

{

// GPs信號弱

return? 0;

}

else? if (someLocation.horizontalAccuracy>48)

{

// Gps信號壹般

return ? 1;

}

else

{

// GPS信號強

return 2;

}

}