我有一系列NSDictionaries。这些词典有纬度和经度。是否可以在该数组中搜索位于指定位置的特定半径内的所有字典。因此,例如,我可以指定“休斯顿,tx”或“77381”和半径500英里,它会搜索? 感谢。
答案 0 :(得分:1)
你确实可以这样做,是的。可能有一种更简单的方法,但我看到和使用的方法是创建一个CLLocation
实例,使用纬度和经度进行初始化,然后使用CLLocation Class Reference中找到的distanceFromLocation:
方法}。如果您的比较位置有CLLocation
个实例,则可以设置if语句来查询返回的值是否小于指定的距离。请务必释放临时CLLocation
以免发生任何内存泄漏
答案 1 :(得分:0)
我不知道有任何捆绑功能可以做到这一点。
只需对数组进行迭代/枚举即可。 有十几种方式。
for (NSDictionary *withLatLong in arrayOfDicts) {
// do work…
}
[arrayOfDicts enumerateObjectsUsingBlock:^(id x, NSUInteger index, BOOL *stop){
NSDictionary *withLatLong = (NSDictionary *)x;
// do work…
}];
NSMutableArray newArray = [arrayOfDicts mutableCopy];
[newArray filterUsingPredicate:predicate];