0

Google プレイス検索 URL から結果を取得しています。「Newyork」を検索すると、すべて正常に動作します。しかし、「ニューヨーク」を与えると、結果のjsonが異なり、NSDataに取り込めません。これは私が使用しているURLです:

https://maps.googleapis.com/maps/api/place/textsearch/json?query=ニューヨーク&sensor=true&key=MY_KEY

以下のコードを使用してデータをフェッチしています。

NSURL *googleURL = [NSURL URLWithString:url];  //url is above url
NSURLResponse *response;
NSData *data;

NSError    *error;

data = [NSURLConnection sendSynchronousRequest: [NSURLRequest
                                                 requestWithURL: googleURL]   returningResponse: &response error: &error];


NSLog(@"data %@",data);   // but I am getting null here

これを克服する方法は?前もって感謝します

4

1 に答える 1

0

それが次のとおりであると仮定しurlます。

NSString *url = @"https://maps.googleapis.com/maps/api/place/textsearch/json?query=New york&sensor=true&key=MY_KEY";

これを使用してみてください:

NSURL *googleURL = [NSURL URLWithString:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

これにより、スペースを含む URL の文字列がフォーマットされます。動作していることを確認するには、コンソールに出力します。

NSLog(@"URL with Percent Escapes: %@", [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]);

このようなものが返されるはずです(スペースのエスケープ率は だと思います%20)。

URL with Percent Escapes: https://maps.googleapis.com/maps/api/place/textsearch/json?query=New%20york&sensor=true&key=MY_KEY
于 2013-05-20T19:14:37.750 に答える