Moja aplikacja na iPhone ma rozwiązać adres na podstawie szerokości i długości geograficznej użytkownika. reverseGeocodeLocation działa dobrze, ale wyniki są w języku angielskim.jak zlokalizować wynik adresu z reverseGeocodeLocation?
Czy istnieje sposób na zlokalizowanie wyników w innych językach?
Nie mogłem znaleźć żadnych informacji na ten temat na Apple lub gdziekolwiek indziej.
Kod używam jest:
CLGeocoder *geocoder = [[[CLGeocoder alloc] init] autorelease];
CLLocation *location = [[[CLLocation alloc]
initWithLatitude:coord.latitude longitude:coord.longitude] autorelease];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"reverseGeocodeLocation:completionHandler: Completion Handler called!");
if (error){
NSLog(@"Geocode failed with error: %@", error);
[self displayError:error];
return;
}
if(placemarks && placemarks.count > 0)
{
//do something
CLPlacemark *topResult = [placemarks objectAtIndex:0];
NSString *addressTxt = [NSString stringWithFormat:@"%@ %@,%@ %@",
[topResult subThoroughfare],[topResult thoroughfare],
[topResult locality], [topResult administrativeArea]];
}
}
CLGeocoder bazuje na geokodera google, co może powodować miejscowe wyników jeśli opcja językowa jest ustawiona w parametrach adresu URL. Korzystam z google api i otrzymuję wyniki, które wydają się być zlokalizowane w innych językach. Może to być oczywiste, ale czy ustawiasz język urządzenia na coś innego niż angielski? Co jeszcze próbowałeś? – Jim
tak! zadziałało, zmieniając język, ale pytanie pozostaje nadal, czy możliwe jest wymuszenie wyników na konkretnym języku? – user513790
Z dokumentacji nie sądzę. Jeśli w ciągu kilku godzin nie otrzymasz pełniejszej odpowiedzi, pokażę ci kod, który może ci pomóc. Nie mam tego jednak przed sobą. – Jim