2011-09-11 3 views
3

私は緯度/経度を位置に変換するためにMapKitとMKReverseGeocoderを使用しています。 いくつかのテストを行い、ジオコーディング応答言語がiPhoneの選択言語に従って設定されていることを認識しました。応答言語を明示的に設定するにはどうすればよいですか?何があっても返事を「en」にしたい。 私のコードは次のとおりです。MKReverseジオコーダ - レスポンス言語

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

答えて

3

MKReverseGeocoder(iOS5を中もCLGeocoderは)あなたが言語を設定することはできません。

ただし、Google Maps APIを使用して独自の逆ジオコーダーを構築することはできます。 HTTPリクエストを送信し、応答データを解析する必要があります。 URLに言語を設定することができます。ここではサポートされている言語のリストがある:https://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1

例URL:

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

短い答えを見ますあなたのメインにこれ​​を入れてください。 「オートリリース」。英語ジオコーディング

あなたがローカライズを使用している場合、それはあなたのアプリケーションの他の効果を持っている可能性があるため

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

+0

なぜ-1?それは働く解決策です.. –

+0

いいえ、それは働いていない – Rusik