弃用的CLRegion方法 – 如何获得半径?

我使用geocodeAddressString:completionHandler:方法,它返回一个CLPlacemarks数组。 我必须得到纬度,经度,记忆名称和半径。 获得前3个很容易:

 double lat = placemark.location.coordinate.latitude; double lng = placemark.location.coordinate.longitude; NSString *name = [NSString stringWithFormat:@"%@", ABCreateStringWithAddressDictionary(placemark.addressDictionary, NO)] 

我不知道如何获得半径现在,因为placemark.region.radius已被弃用。 任何想法现在使用什么呢? 在文档中我找不到任何有趣的东西。

弃用笔记是CLRegion radius ,它表示使用CLCircularRegion来代替。

请注意, CLCircularRegionCLCircularRegion的一个子类。
CLCircularRegionCLCircularRegion具有相同的属性(包括radius )。

这一点很重要,如果是创build一个CLRegion打算使用其radius属性。

但是,这里是SDK本身(特别是geocodeAddressString方法),它必须担心并处理它。

在iOS 7中,该方法确实通过为地CLCircularRegion region属性返回CLCircularRegion来处理它。

基本上,你不必做任何改变,因为属性名称是相同的。

此代码将从iOS 4到iOS 7:

 NSLog(@"radius=%f", placemark.region.radius);