不推荐使用的CLRegion方法 - 如何获得半径?

时间:2014-01-09 14:43:20

标签: ios objective-c core-location clregion

我正在使用geocodeAddressString:completionHandler:方法,该方法返回一组CLPlacemarks。我必须获得纬度,经度,助记名称和半径。虽然获得前三个很容易:

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

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

1 个答案:

答案 0 :(得分:9)

弃用说明适用于radius中的CLRegion,而是说使用CLCircularRegion

请注意,CLCircularRegionCLRegion的子类 CLCircularRegion具有与CLRegion相同的属性(包括radius)。

如果是创建CLRegion并打算使用其radius属性的人,那么这很重要。


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

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

基本上,您不必在此处执行或更改任何内容,因为属性名称相同。

此代码适用于iOS 4到iOS 7:

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