Question

j'utilise le geocodeAddressString:completionHandler: méthode, qui renvoie un tableau de CLPlacemarks.Je dois obtenir la latitude, la longitude, le nom mnémonique et le rayon.Bien qu’obtenir les 3 premiers soit facile :

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

Je ne sais pas comment obtenir le rayon maintenant, car placemark.region.radius est obsolète.Avez-vous des idées sur quoi utiliser maintenant ?Je ne trouve rien d'assez intéressant dans la documentation.

Était-ce utile?

La solution

La note de dépréciation est destinée radius dans CLRegion et il dit d'utiliser CLCircularRegion plutôt.

Noter que CLCircularRegion est une sous-classe de CLRegion.
CLCircularRegion a les mêmes propriétés que CLRegion avait (y compris radius).

Cela compte si toi sont ceux qui créent un CLRegion avec l'intention d'utiliser son radius propriété.


Cependant, ici, c'est le SDK lui-même (plus précisément le geocodeAddressString méthode) qui doit s’en soucier et s’en occuper.

Dans iOS 7, cette méthode le gère en effet en renvoyant un CLCircularRegion pour le repère region propriété.

Essentiellement, vous n’avez rien à faire ou à modifier ici puisque les noms de propriété sont identiques.

Ce code fonctionnera d'iOS 4 à iOS 7 :

NSLog(@"radius=%f", placemark.region.radius);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top