Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
检查IOS中两个位置的接近性_Ios_Objective C_Cocoa Touch - Fatal编程技术网

检查IOS中两个位置的接近性

检查IOS中两个位置的接近性,ios,objective-c,cocoa-touch,Ios,Objective C,Cocoa Touch,我有一个位置数组,当我添加另一个位置时,我希望能够检查数组中的其他位置是否在新位置的块内。这是我必须找到当前位置的代码: //Geocoding Block [self.geoCoder reverseGeocodeLocation: locationManager.location completionHandler: ^(NSArray *placemarks, NSError *error) { //Get nearby address CLPlacemark *p

我有一个位置数组,当我添加另一个位置时,我希望能够检查数组中的其他位置是否在新位置的块内。这是我必须找到当前位置的代码:

//Geocoding Block
[self.geoCoder reverseGeocodeLocation: locationManager.location completionHandler:
 ^(NSArray *placemarks, NSError *error) {

     //Get nearby address
     CLPlacemark *placemark = [placemarks objectAtIndex:0];

     //String to hold address
    locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"]    componentsJoinedByString:@", "];

数组还没有创建,因为我想先弄清楚,我不知道数组中应该保存什么(字符串…)。我知道如何进行搜索我只需要知道如何比较位置

您可以使用on CLLocation获得两个位置之间的距离。(您可以使用
myPlacemark.location
从CLPlacemark中获取CLLocation)因此,如果您有一组CLLocation对象,并且希望找到位于一个街区(1/20英里或大约80米)内的对象,可以执行以下操作:

NSMutableArray *locationsWithinOneBlock = [NSMutableArray new];
for (CLLocation *location in myLocations) {
    if ([location distanceFromLocation:targetLocation] <= 80.0)
        [locationsWithinOneBlock addObject:location];
}
NSMutableArray*locationswithinoeblock=[NSMutableArray new];
用于(CLLocation*myLocations中的位置){

if([location distanceFromLocation:targetLocation]您要比较的其他位置的数组在哪里?我想我不知道您为什么向我们展示这种地理编码方法。请看最后一句话。我不知道在数组中放置什么,因为我不知道需要比较位置的哪一部分。非常感谢,这正是我需要的。