弃用的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
来代替。
请注意, CLCircularRegion
是CLCircularRegion
的一个子类。
CLCircularRegion
与CLCircularRegion
具有相同的属性(包括radius
)。
这一点很重要,如果你是创build一个CLRegion
打算使用其radius
属性。
但是,这里是SDK本身(特别是geocodeAddressString
方法),它必须担心并处理它。
在iOS 7中,该方法确实通过为地CLCircularRegion
region
属性返回CLCircularRegion
来处理它。
基本上,你不必做任何改变,因为属性名称是相同的。
此代码将从iOS 4到iOS 7:
NSLog(@"radius=%f", placemark.region.radius);