2011-08-04 4 views
2

イム:逆ジオコーディング要求をしているGoogleは魔法のように私のiPhoneの言語を認識し

urlString = [NSString stringWithFormat: 
      @"http://maps.googleapis.com/maps/api/geocode/xml?latlng=%f,%f&sensor=true", lat, lng]; 

のは、私の現在の場所は、ヨーロッパ、ルーマニア、オラデアであるとしましょう。

私は、たとえばドイツに私のiPhoneを設定した場合、私はドイツ語で都市名を取得します。どういうわけかGoogleは自分のiPhoneがドイツ語であることを魔法のように知っていて、ドイツ語(Grosswardein)でジオコーディングデータを返します。問題は私が本当には、都市名が翻訳されていない(ルーマニアのオラデア)ようにすることです。 googleは私のiPhoneの言語がドイツ語であることをどうやって知っているのですか?私はMKReverseGeocoderを使用していません。なぜなら、私はこの機能をオフにすることはできませんでしたが、私はここでまったく同じ問題に直面しています。

更新[request allHTTPHeaderFields]リターンはnull:送信されませヘッダがありません。それはGoogleが透視的だと思われる。

更新:これは[request setValue: @"*" forHTTPHeaderField: @"Accept-Language"]と思われます。 hereから私が理解する限り、アスタリスクを使用する必要があります。 BTW Wiresharkは素晴らしいです。

答えて

2

あなたはあなたの要求がAccept-Language HTTPヘッダを含んでいるかどうかを確認しようとすることができます。あなたがそれをどのように送っているのか、それはそうであるように聞こえる。

+0

助けてくれてありがとう、私は要求を作成した後に 'Accept-Language'ヘッダーを検証しましたが、それはnilです。すべてのヘッダーを送信する方法はありますか? –

+1

@gyozo kudor:あなたのアプリとGoogleの間の会話全体を見るためにWiresharkを使用してみませんか?そうすれば、あなたはそれを与えているものを正確にピン止めすることができます。 –

+0

Wiresharkは実際にAccept-Languageヘッダがあり、それが 'de-de'に設定されていると伝えます。これは' 'setValue:nil forHTTPHeaderField:@" Accept-Language "]のようにnilに設定した後です。 '。 –

関連する問題