Ios 不推荐的CLRegion方法-如何获取半径?
我正在使用Ios 不推荐的CLRegion方法-如何获取半径?,ios,objective-c,core-location,clregion,Ios,Objective C,Core Location,Clregion,我正在使用geocodeAddressString:completionHandler:方法,该方法返回一个CLPlacemarks数组。我必须得到纬度,经度,记忆名字和半径。虽然获得前3项很容易: double lat = placemark.location.coordinate.latitude; double lng = placemark.location.coordinate.longitude; NSString *name = [NSString stringWithFormat
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
是CLRegion
的一个子类CLCircularRegion
具有与CLRegion
相同的属性(包括radius
)
如果您是创建CLRegion
并打算使用其radius
属性的人,这一点很重要
然而,在这里,SDK本身(特别是
geocodeAddressString
方法)必须担心并处理它
在iOS 7中,该方法确实通过为placemark的区域
属性返回CLCircularRegion
来处理它
本质上,您不必在这里执行或更改任何操作,因为属性名称是相同的
此代码将从iOS 4运行到iOS 7:
NSLog(@"radius=%f", placemark.region.radius);
新的类称为CLCircularRegion@danh当我没有开始的时候,我应该如何从旧地区迁移?强制转换没有帮助,也没有方法将旧区域转换为新的循环区域。那么我建议使用:
[(CLCircularRegion*)placemark.region radius]
来避免额外的警告。感谢您的回复。是的,很遗憾,如果部署目标是7.0,它会发出警告。如果仍然使用iOS 7 SDK时部署目标小于7.0,则不会出现警告。