iOS アプリケーションから Google Geocoding API v3[1] を使用していますが、gzip 応答を返すことができません。v2 ははるかに軽量でしたが、v3 では ~20kb の JSON 応答を取得しています。GPRS 接続が悪い場合は、取得に時間がかかる可能性があるため、gzip 圧縮された結果を取得したいと考えています。
呼び出しで何か間違ったことをしているのだろうか、それとも彼らの API が本当に gzip や deflate をサポートしていないのだろうか。私には奇妙に聞こえます。
これは私のコードでやっていることです:
NSURL *url = [NSURL URLWithString:@"http://maps.googleapis.com/maps/api/geocode/json?latlng=55,12&sensor=true"];
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:url];
[req setValue:@"gzip,deflate" forHTTPHeaderField:@"Accept-Encoding"];
NSURLConnection *c = [[NSURLConnection alloc]
initWithRequest:req delegate:self startImmediately:YES];
「gzip」と「deflate」だけでも試しました。同じ結果です。
[1] http://code.google.com/apis/maps/documentation/geocoding/