2011-09-11 73 views
3

我正在使用MapKit和MKReverseGeocoder以將經緯度轉換爲位置。 我做了一些測試,並認識到地理編碼響應語言是根據iPhone選擇的語言設置的。我如何明確設置響應語言?無論如何,我都希望響應能夠在'en'中。 我的代碼是:MKReverse地理編碼器 - 響應語言

MKReverseGeocoder *geocoder = [[MKReverseGeocoder alloc] initWithCoordinate:center]; 
[geocoder setDelegate:self]; 
[geocoder start]; 

回答

3

MKReverseGeocoder(也CLGeocoder在iOS5中)不允許設置語言。

但是,您可以使用Google Maps API構建自己的反向地址解析器。 這需要發送一個HTTP請求並解析響應數據。 您可以在URL中設置設置語言。下面是支持的語言列表:https://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1

實例網址:

http://maps.google.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true&language=en 
+0

這真的很酷,用這種方法你不需要添加如果在你的代碼中定義分支。謝謝@ phix23這幫了我很多。 – fyasar

1

可以「欺騙」的應用認爲這是一個特定的「語言」

看到How to force NSLocalizedString to use a specific language

簡答把這個放在你的main.m.在「autorelease」中。

[[NSUserDefaults standardUserDefaults]  
setObject:[NSArray arrayWithObject:@"en"]  
forKey:@"AppleLanguages"]; 

英語地理編碼

,如果你使用本地化它可能對您的應用程序等功效。

+0

爲什麼-1?這是一個工作解決方案.. –

+0

不,它不工作 – Rusik