计算iPhone信号iPhone的质量

时间:2016-05-25 05:13:50

标签: iphone swift gps

我正在开发一个与Runtastic非常相似的应用程序。 我有一个问题是要了解GPS信号的质量。 如果我理解你需要使用属性horizo​​ntalAccuracy但我不明白什么是信号质量的范围可以被视为优秀,良好或无信号。 你能帮助我吗 ? 我在互联网上找到了几个例子但是当我去应用这些值时,我没有得到我想要的东西。 这是我的代码:

dispatch_async(dispatch_get_main_queue()) {
            //assign new image
            if(newLocation.horizontalAccuracy < 0){
                //No Signal
                self.qualitaSegnale.text = "\(newLocation.horizontalAccuracy)";
                self.imageGPS.image = UIImage(named: "gps_signal_ko");
            }
            else if(newLocation.horizontalAccuracy > 163){
                self.qualitaSegnale.text = "\(newLocation.horizontalAccuracy)";
                self.imageGPS.image = UIImage(named: "gps_signal_peer");
            }
            else if (newLocation.horizontalAccuracy > 48){
                self.qualitaSegnale.text = "\(newLocation.horizontalAccuracy)";
                self.imageGPS.image = UIImage(named: "gps_signal_peer");
            }
            else {
                self.qualitaSegnale.text = "\(newLocation.horizontalAccuracy)";
                self.imageGPS.image = UIImage(named: "gps_signal_ok");
            }
        }

感谢您的所有可用性。

蒙特拉

1 个答案:

答案 0 :(得分:1)

所以低于48的任何东西都被认为是好的。我会说10以下的东西都很棒。

资料来源:我最近一直在搞乱类似的东西,看起来我能得到的最佳读数是半径5米。我认为5米是目前最好的读数。

除了:

if(newLocation.horizontalAccuracy < 0){

我也会检查:

func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {

因为如果horizo​​ntalAccuracy小于0,可能会出错。