2015-02-09 2 views
3

Я использую googleapis услуги, чтобы получить местоположение пользователя, текущее название города + название страны:Как получить ответ Googleapis только на английском языке?

NSString *urlString = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/xml?latlng=%f,%f&sensor=false",latitude,longitude]; 

urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

NSURL *url = [NSURL URLWithString:urlString]; 

NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

// Send the request 
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 

я получаю файл XML с данными, а не с помощью NSXMLParser, чтобы получить необходимую информацию. С какой-то причине иногда инфо в английский и иногда не, и мне нужно ТОЛЬКО в ванной.

Я попытался переопределить язык приложения с помощью этого кода:

[[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

Но ничего не происходит, что я должен делать?

+3

Вы пытались добавить '& language = en' в свой URL-адрес запроса? –

+0

Работа! спасибо –

+0

Отлично, спасибо. – Deadpool

ответ

1

В Google Maps API Documentation, он говорит:

Дополнительные параметры запроса геокодирования:

язык - язык, на котором следует возвращать результаты. См. list of supported domain languages. Обратите внимание, что мы часто обновляем поддерживаемые языки, чтобы этот список не был исчерпывающим. Если язык не указан, геокодер попытается использовать родной язык домена, из которого отправляется запрос, где это возможно.

Таким образом, вы просто должны указать язык в качестве параметра в своем запросе. Для английского: language=en

+0

Куда я должен поместить его в адрес? –

+1

Да. 'NSString * urlString = [NSString stringWithFormat: @" http://maps.googleapis.com/maps/api/geocode/xml?latlng=%f,%f&sensor=false&language=en ", широта, долгота];' – Sudo

Смежные вопросы