检查2个地点是否在同一个城市

时间:2016-02-18 12:04:38

标签: ios objective-c iphone cocoa-touch google-maps-sdk-ios

我有一个名为savedLocation的位置,其中包含我已预先保存到我的应用中的位置。

我想检查savedLocation和用户的当前位置是否在同一个城市。

创建CLCircularRegion(saveLocation)

-(CLCircularRegion*)createCircularRegion
{
    CLCircularRegion *region=[[CLCircularRegion alloc] initWithCenter:self.geoPoint radius:200 identifier:self.identifier];

    region.notifyOnEntry=YES;

    return region;
}

注意:这个问题与this question不同,因为在这个问题中我问如何比较2个不同位置的城市(没有得到零),"重复"问题是关于另一件事。

任何人都知道我该怎么做?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以使用反向地理编码器获取您所在位置的城市名称。然后将其与参考位置的城市名称进行比较。我认为这可能不准确。

- (void)getCityNameFromLocation:(CLLocation *)location
{
    CLGeocoder *geocoder = [[CLGeocoder alloc] init] ;
    [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
        if (error) {
            // Handle the error here
            return;
        }
        CLPlacemark *placemark = [placemarks objectAtIndex:0];
        NSLog(@"%@", placemark.locality);
    }];
}