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.
Hoe kan ik een CLLocation of MKPlacemark vanaf een adres te bepalen?
stemmen
2
De vraag is gesteld op 20/09/2009 om 20:25 2009-09-20 20:25
bron van user Greg Hurlman
In andere talen...
bron van user Greg Hurlman
In andere talen...
1 antwoorden
stemmen 6
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;
}