非常惊讶这很难搜索。我的搜索只显示我使用CLGeocoder以用户友好的格式显示信息。
我正在构建基于位置的应用,我有保存位置(到服务器)的功能,并在表格视图中列出它们。但是当我无法过滤和安排与我所在地区相关的位置时,这没什么用。
我应该在设备或php中设置位置半径吗?
我目前对解决方案的想法是将一个JSON坐标字符串发送到一个php脚本,该脚本通过MySQL数据库查找位置字段小于X远离用户位置的每个条目(通过粗略的' WHERE X< 34.23049823 AND X> 34.44789874和Y< ...)类型的东西。我不认为这是实现附近位置搜索功能的最简单或最快捷的方法。
答案 0 :(得分:1)
当然,您可以在iOS中执行此操作。
// Given NSArray *locations as an array of CLLocation* that you wish to filter
// and given a radius...
CLLocationDistance radius = kSomeRadius;
// and given a target you want to test against...
CLLocation* target = [[CLLocation alloc] initWithLatitude:someLat longitude:someLon];
NSArray *locationsWithinRadius = [locations objectsAtIndexes:
[locations indexesOfObjectsPassingTest:
^BOOL(id obj, NSUInteger idx, BOOL *stop) {
return [(CLLocation*)obj distanceFromLocation:target] < radius;
}]];
[target release];