Устаревшие методы 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
устарела. Есть идеи, что использовать вместо этого сейчас? Я не могу найти ничего интересного в документации.
1 ответ
Примечание амортизации для radius
в CLRegion
и он говорит, чтобы использовать CLCircularRegion
вместо.
Обратите внимание, что CLCircularRegion
это подкласс CLRegion
,CLCircularRegion
имеет те же свойства, что CLRegion
имел (в том числе radius
).
Это важно, если вы тот, кто создает CLRegion
с намерением использовать его radius
имущество.
Тем не менее, здесь, это сам SDK (в частности, geocodeAddressString
метод), который должен беспокоиться об этом и справиться с этим.
В iOS 7 этот метод действительно обрабатывает это, возвращая CLCircularRegion
для метки region
имущество.
По сути, вам не нужно ничего делать или изменять здесь, поскольку имена свойств идентичны.
Этот код будет работать с iOS 4 до iOS 7:
NSLog(@"radius=%f", placemark.region.radius);