0

我正在从 google 地方搜索 url 获取结果,如果我搜索“Newyork”,一切正常。但是如果我给“纽约”,结果json是不同的,我不能在NSData中接受它。这是我正在使用的网址:

https://maps.googleapis.com/maps/api/place/textsearch/json?query=New york&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 回答