core-location - 如何比较 CLLocationCooperative2D

标签 core-location cllocation equatable

我需要一种比较两个 CLLocationCooperative2D 的方法,但是当我尝试使用 == 时,它不起作用。请问有人可以帮我找到比较它们的最佳方法吗?

最佳答案

比较任何给定结构类型的两个实例的通用方法:

memcmp(&cllc2d1, &second_cllc2d, sizeof(CLLocationCoordinate2D))

cllc2d1.latitude == cllc2d2.latitude && cllc2d1.longitude == cllc2d2.longitude

如果你真的想确保它们完全相等,应该可以。但是,考虑到纬度和经度被定义为 double ,您可能确实想要进行“足够接近”的比较:

fabs(cllc2d1.latitude - cllc2d2.latitude) <= epsilon && fabs(cllc2d1.longitude - cllc2d2.longitude) <= epsilon

其中 epsilon 是您想要接受的错误级别。

关于core-location - 如何比较 CLLocationCooperative2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10199133/

相关文章:

ios - 如何将 google place autocomplete api 结果限制为仅限纽约?

swift - 调用mapView(_ :viewFor:) when user location changes

swift - iOS 应用程序区域监控的限制

ios - CLLocationDistance 不起作用 - 快速

ios - 子类 ClBeacon 来存储一些额外的信息

swift - AnyObject 尝试转换为 Equatable

Swift 2.2,包含方法不起作用

iOS - CLLocation Manager didUpdateLocations 在一个类中被调用但在另一个类中没有被调用?

objective-c - 带有纬度和经度的 swift 中的 CLLocation 对象

swift - 二元运算符 '==' 不能应用于两个操作数