Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 使用半径搜索位置(cocoa touch)_Objective C_Ios_Core Location - Fatal编程技术网

Objective c 使用半径搜索位置(cocoa touch)

Objective c 使用半径搜索位置(cocoa touch),objective-c,ios,core-location,Objective C,Ios,Core Location,我有一系列的字典。那些字典有纬度和经度键。是否可以在该数组中搜索位于指定位置的某个半径内的所有字典。例如,我可以指定“德克萨斯州休斯顿”或“77381”,半径为500英里,它会搜索吗? 谢谢。你确实可以做到,是的。可能有一种更简单的方法,但我看到并使用的方法是创建一个CLLocation实例,用纬度和经度初始化,然后使用中的distanceFromLocation:方法。如果比较位置有一个CLLocation实例,则可以设置if语句来查询返回的值是否小于指定的距离。只需确保释放临时CLLocat

我有一系列的字典。那些字典有纬度和经度键。是否可以在该数组中搜索位于指定位置的某个半径内的所有字典。例如,我可以指定“德克萨斯州休斯顿”或“77381”,半径为500英里,它会搜索吗?
谢谢。

你确实可以做到,是的。可能有一种更简单的方法,但我看到并使用的方法是创建一个
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解析返回的数据。如果你在这件事上遇到麻烦,我很乐意尝试引导你