-1

私は iOS が初めてで、Google API 方向サービスを呼び出して解析したいのですが、post メソッドを使用して Web サービスを呼び出す方法は知っていますが、パラメーターを URL に統合し、そこから json 応答を取得する方法がわかりません。私を助けてください。

4

2 に答える 2

1

以下のコードを参照してください、あなたはいくつかのアイデアを得るでしょう。

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
    NSString *stringOrigin = @"Surandai";
    NSString *stringDestination = @"Coimbatore";
    NSData *dataDirection = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/directions/json?origin=%@&destination=%@&sensor=true", stringOrigin, stringDestination]]];
    NSDictionary *dictionaryDirection = [NSJSONSerialization JSONObjectWithData:dataDirection options:NSJSONReadingAllowFragments error:nil];
    dispatch_sync(dispatch_get_main_queue(), ^{
        NSLog(@"dictionaryDirection - %@", dictionaryDirection);
        //Do UI update here
    });
});
于 2012-12-22T13:09:16.167 に答える
1

NSURLConnectionPostを使用してデータを渡すには、setHTTPBodyメソッドを使用できます。

次のコードを使用できます。

NSURL *aUrl = [NSURL URLWithString:@"yourURL"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:aUrl
                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                     timeoutInterval:60.0];

NSURLConnection *connection= [[NSURLConnection alloc] initWithRequest:request 
                                                             delegate:self];

[request setHTTPMethod:@"POST"];
NSString *postString = @"username=Midhun&password=Midhun";
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];

didReceiveDataまた、応答データはデリゲートメソッドを介して取得できます。NSMutableDataさらに使用するには、受信したデータをオブジェクトに追加する必要があります。

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{ 
   [receivedData appendData:data];
}
于 2012-12-22T12:59:16.413 に答える