Domanda

Sto usando il geocodeAddressString:completionHandler: metodo, che restituisce un array di CLPlacemarks.Devo ottenere latitudine, longitudine, nome mnemonico e raggio.Mentre ottenere i primi 3 è facile:

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

Non so come ottenere il raggio adesso, come placemark.region.radius è deprecato.Qualche idea su cosa usare adesso invece?Non riesco a trovare nulla di abbastanza interessante nella documentazione.

È stato utile?

Soluzione

La nota di deprecazione è per radius In CLRegion e dice di usare CLCircularRegion Invece.

Notare che CLCircularRegion è una sottoclasse di CLRegion.
CLCircularRegion ha le stesse proprietà che CLRegion avuto (compreso radius).

Questo è importante se Voi sono quelli che creano a CLRegion con l'intenzione di utilizzarlo radius proprietà.


Tuttavia, in questo caso è l'SDK stesso (in particolare il geocodeAddressString metodo) che deve preoccuparsene e gestirlo.

In iOS 7, questo metodo lo gestisce effettivamente restituendo a CLCircularRegion per il segnaposto region proprietà.

In sostanza, non devi fare o modificare nulla qui poiché i nomi delle proprietà sono identici.

Questo codice funzionerà da iOS 4 a iOS 7:

NSLog(@"radius=%f", placemark.region.radius);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top