0

Google Places API を利用するアプリを構築しています。この URLを使用します。

目的のリンクをブラウザで使用しても結果が得られない

jsonを使用してGoogleの場所からのデータを解析しますが、NSStringがJSONValueに応答しない可能性があるという異常な警告が表示されます

コードは次のとおりです

-(IBAction)nearbyLocations:(id)sender
{        
    NSString *url=[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/json?location=37.329558,122.025002&radius=500&types=atm&sensor=false&key=AIzaSyCIZ8MxCoMsfgj0ytE7azXGfjs_E__2Nhw"];
    NSURL *googleRequestURL=[NSURL URLWithString:url];
    dispatch_async(kBgQueue, ^{
        NSData* data = [NSData dataWithContentsOfURL: googleRequestURL];
        [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];
    });
}

-(void)fetchedData:(NSData *)responseData
{
    //parse out the json data
    //NSError* error;

    NSString *jsonString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    NSLog(@"%@",jsonString);
    NSDictionary* json =[jsonString JSONValue];
    //[NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

    //The results from Google will be an array obtained from the NSDictionary object with the key "results".
    NSArray* places = [json objectForKey:@"results"];

    //Write out the data to the console.
    NSLog(@"Google Data: %@", places);
}
4

1 に答える 1

2

より大きな半径が必要です。あなたが提供したURLで、私はに変更radius=500radius=5000、それは動作します. 新しい URL。基本的にその緯度経度から500メートル以内にATMはありませんが、5000メートル以内にはATMがあります。

それが 1 つの問題です。他の問題は、あなたの質問に対する皇帝のコメントにあります。

于 2012-10-08T22:44:03.317 に答える