Objective-c 使用半径搜索位置

Posted

技术标签:

【中文标题】Objective-c 使用半径搜索位置【英文标题】:Objective-c search locations with radius 【发布时间】:2011-06-01 01:29:48 【问题描述】:

objective-c 中是否有一个库可以让我指定半径和位置,以及位置列表并告诉我哪些位置在该半径内? 谢谢。

【问题讨论】:

通过使用 sqrt((x-x0)^2+(y-y0)^2) 计算到位置 (x0,y0) 的距离,自己可能很容易做到 【参考方案1】:

如果你有 CLLocations,那么这样的事情会起作用:

// 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];

当然还有其他方法可以做到这一点。这只是一种方式。

希望对您有所帮助。

【讨论】:

以上是关于Objective-c 使用半径搜索位置的主要内容,如果未能解决你的问题,请参考以下文章

半径内的html5地理位置搜索

如何使用谷歌地图API制作一个搜索特定半径周围项目的表单?

PHP 半径搜索

如何在经纬度半径范围内的 xml 文件中查找位置

使用Google App Engine GQL查找给定半径内的所有位置

在mySQL中测量半径内位置的正确方法是啥?