我正在创建一个应用程序,它需要确定我的当前位置(记录在 didUpdateLocation:) 是否存在于我拥有的一组地理坐标中。现在我知道比较 double /浮点值是否相等很容易出错,因为地理坐标中涉及的精度非常高。 GPS 的轻微误差会使我的算法偏离轨道。因此,我需要将它与一些误差范围进行比较。
如何比较 2 个 CLLocations 的误差范围?或者确定位置读取中的错误(我认为这是不可能的,因为 CLLocationManager 会纠正它)。
提前致谢:)
最佳答案
在每个CLLocation
例如,有一个属性声明为 @property(readonly, nonatomic) CLLocationAccuracy horizontalAccuracy;
你可以做的是制定一个例程:
-(BOOL)isLocation:(CLLocation*)location inRangeWith:(CLLocation*)otherLocation{
CLLocationDistance delta = [location distanceFromLocation:otherLocation];
return (delta < location.horizontalAccuracy);
}
您可以创建更复杂的逻辑,因为两个位置都具有该属性...
干杯。 【ツ】
关于iOS 比较 GPS 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12257741/