1

我有以下代码发出 Google Places API 请求。目前参数是静态设置的。我将如何着手制作这些参数(类型和纬度/经度以及 Google 密钥 - 我已在 .h 文件中定义为常量)对象?

NSURL 出现了我的问题,因为我无法向其添加格式说明符。

谢谢你的帮助。

-(void)ParseXML_of_Google_PlacesAPI
{

    NSURL *googlePlacesURL = [NSURL URLWithString:@"https://maps.googleapis.com/maps/api/place/search/xml?location=34.0522222,-118.2427778&radius=500&types=bar&sensor=false&key=MyGoogleAPIKey"];

    NSData *xmlData = [NSData dataWithContentsOfURL:googlePlacesURL];
    xmlDocument = [[GDataXMLDocument alloc]initWithData:xmlData options:0 error:nil];

    NSArray *arr = [xmlDocument.rootElement elementsForName:@"result"];

    for(GDataXMLElement *e in arr )
    {
        [placesOutputArray addObject:e];
    }
4

3 回答 3

4

好吗stringWithFormat

`NSString* urlToCall = [NSString stringWithFormat:@"http:://url.to.webservice/api?param1=%@&param2=%@", param1, param2]`
于 2012-08-24T12:18:59.333 回答
2

这可能对你有帮助

float lat=34.0522222,lon=-118.2427778;
NSString *typestr=@"bar";
NSString *key=@"MyGoogleAPIKey";


NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/xml?location=%f,%f&radius=500&types=%@&sensor=false&key=%@",lat,lon,typestr,key]];

NSLog(@"url values  ==%@",url);
于 2012-08-24T12:29:03.753 回答
1

将格式说明符直接格式化为 NSURL,如下所示:

 NSURL *googlePlacesURL = [NSURL URLWithString:[NSString stringWithFormat:@"http:://url.to.webservice/api?param1=%@%param2=%@", param1, param2]];
于 2012-08-24T12:25:29.320 回答