Hoe kan ik een CLLocation of MKPlacemark vanaf een adres te bepalen?

stemmen
2

Ik heb API-documentatie en demo gezien na demo over hoe je een omgekeerde geocode doen - om een ​​adres te krijgen, krijgen een Lat / Long locatie. Ik moet het omgekeerde te doen. Ik ga ervan uit dat dit al is opgelost probleem, omdat Apple's MapKit API volledig vermijdt het.

De vraag is gesteld op 20/09/2009 om 20:25
bron van user
In andere talen...                            


1 antwoorden

stemmen
6

Een manier is om de Google-webservice gebruiken als volgt:

-(CLLocationCoordinate2D) addressLocation {
    NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", 
                           [addressField.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
    NSLog(@"locationString = %@",locationString);

    NSArray *listItems = [locationString componentsSeparatedByString:@","];

    double latitude = 0.0;
    double longitude = 0.0;
    if([listItems count] >= 4 && [[listItems objectAtIndex:0] isEqualToString:@"200"]) {
        latitude = [[listItems objectAtIndex:2] doubleValue];
        longitude = [[listItems objectAtIndex:3] doubleValue];
/*      
        NSString *nameString = [NSString stringWithFormat:@"http://ws.geonames.org/findNearestAddress?lat=%f&lng=%f",latitude,longitude];
        NSString *placeName = [NSString stringWithContentsOfURL:[NSURL URLWithString:nameString]];
        NSLog(@"placeName = %@",placeName);
 */
    }
    else {
        //Show error
    }
    CLLocationCoordinate2D location;
    location.latitude = latitude;
    location.longitude = longitude;

    return location;

}
antwoordde op 20/09/2009 om 20:30
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more