Objective-C: ottenere informazioni a partire da Latitudine e Longitudine

Rispondo a Mirko che mi chiedeva come realizzare il caso inverso proposto in Come ottenere Latitudine e Longitudine in Objective-C.
Partendo dai valori di Latitudine e Longitudine è possibile sfruttare la classe MKReverseGeocoder per ottenere tutta una serie di informazioni, come: la città, lo stato, l’indirizzo esteso, il cap!

Esempio

Create un qualsiasi progetto e aggiungete i framework: MapKit e CoreLocation. Nell’application delegate (o dove preferite) aggiungete nel .h:

1
2
3
#import <MapKit/MapKit.h>
#import <MapKit/MKReverseGeocoder.h>
#import <CoreLocation/CoreLocation.h>

e nella definizione dell’interfaccia:

1
2
3
@interface DemoAppDelegate : NSObject <UIApplicationDelegate, MKReverseGeocoderDelegate> {
    MKReverseGeocoder *reverseGeocoder;
    ...

Abbiamo importato i framework, impostato il protocollo MKReverseGeocoderDelegate e preparato un puntatore reverseGeocoder alla classe MKReverseGeocoder. All’avvio dell’applicazione, come mostrato nel codice qui sotto, o dove preferite, basta inserire:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
 
    // Override point for customization after application launch.
 
    [window makeKeyAndVisible];
 
    CLLocationCoordinate2D latlon;
 
    latlon.latitude = 41.949663;
    latlon.longitude = 12.524292;
 
    reverseGeocoder = [[MKReverseGeocoder alloc] initWithCoordinate: latlon];
    reverseGeocoder.delegate = self;
    [reverseGeocoder start]
 
    return YES;
}

Fatto questo il sistema di reverse geocoding farà il resto, scatenado l’evento:

1
2
3
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark {
    NSLog(@"Informazioni = %@", placemark);
}

Scarica sorgenti e demo

Cliccate qui per scaricare la demo visualizzata qui sotto:

Un commento a: “ ”

  1. 02 set, 2010 mirko:

    Grandioso!

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<pre></pre> // blocco generico
                   <code></code> // blocco generico
                   [cc_actionscript][/cc_actionscript] // Actionscript
                   [cc_actionscript3][/cc_actionscript3] // Actionscript 3
                   [cc_css][/cc_css] // CSS Style Sheet
                   [cc_html][/cc_html] // HTML
                   [cc_js][/cc_js] // Javascript
                   [cc_objc][/cc_objc] // Objective-C
                   [cc_php][/cc_objc] // PHP
                   [cc_sql][/cc_sql] // SQL