Objective c 使用半径搜索位置(cocoa touch)
我有一系列的字典。那些字典有纬度和经度键。是否可以在该数组中搜索位于指定位置的某个半径内的所有字典。例如,我可以指定“德克萨斯州休斯顿”或“77381”,半径为500英里,它会搜索吗?Objective c 使用半径搜索位置(cocoa touch),objective-c,ios,core-location,Objective C,Ios,Core Location,我有一系列的字典。那些字典有纬度和经度键。是否可以在该数组中搜索位于指定位置的某个半径内的所有字典。例如,我可以指定“德克萨斯州休斯顿”或“77381”,半径为500英里,它会搜索吗? 谢谢。你确实可以做到,是的。可能有一种更简单的方法,但我看到并使用的方法是创建一个CLLocation实例,用纬度和经度初始化,然后使用中的distanceFromLocation:方法。如果比较位置有一个CLLocation实例,则可以设置if语句来查询返回的值是否小于指定的距离。只需确保释放临时CLLocat
谢谢。你确实可以做到,是的。可能有一种更简单的方法,但我看到并使用的方法是创建一个
CLLocation
实例,用纬度和经度初始化,然后使用中的distanceFromLocation:
方法。如果比较位置有一个CLLocation
实例,则可以设置if语句来查询返回的值是否小于指定的距离。只需确保释放临时CLLocation
s,以避免内存泄漏我不知道有任何捆绑功能可以做到这一点
只需在数组上迭代/枚举即可。
有十几种方法
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];
几乎正是我要找的!谢谢你知道如何将城市/邮政编码转换为地理位置吗?谢谢在核心位置或MapKit框架中,这并不是一个标准选项。但这是可能的。实际上,我最新的应用程序只是针对某个特定的部分。您需要做的是使用。该网站有助于解释发生了什么。基本上,您将通过
NSConnection
和NSURLRequest
发送请求,然后根据您的偏好使用XML或JSON解析返回的数据。如果你在这件事上遇到麻烦,我很乐意尝试引导你