2012-04-11 11 views
2

我是ios字段中的新成員,現在我正在嘗試執行基於MKMapView的iPhone應用程序。從Google地圖Web網絡服務我以JSON輸出格式獲取數據。如何從JSON輸出數據中解碼路線點?

- (void)update { 

    self.responseData=[NSMutableData data]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://maps.googleapis.com/maps/api/directions/json?origin=Ernakulam&destination=Kanyakumari&mode=driving&sensor=false"]]; 
    [[NSURLConnection alloc] initWithRequest:request delegate:self];  
} 
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ 
    [self.responseData setLength:0]; 
} 
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ 
    [self.responseData appendData:data]; 
} 
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{ 
    [connection release]; 
    self.responseData =nil; 
} 
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{ 
    NSLog(@"connection established"); 
    [connection release]; 
    NSString *responseString=[[NSString alloc]initWithData:self.responseData encoding:NSUTF8StringEncoding]; 
    self.responseData=nil; 
    NSLog(@" OUTPUT JSON DATA^^^^^^^^^^^^^^^^%@",responseString); 


} 

我得到了輸出已在JSON格式。現在我想繪製這兩個位置之間的路線。母豬如何分離出JSON輸出數據的所有緯度和經度點。

+0

看看我的答案 – Hiren 2012-04-11 06:25:02

回答

2

查看此代碼。我使用JSONkit解析

-(void)connectionDidFinishLoading:(NSURLConnection *)connection{ 
    NSLog(@"connection established"); 
    [connection release]; 
    NSString *responseString=[[NSString alloc]initWithData:responseData encoding:NSUTF8StringEncoding]; 
    NSMutableDictionary *data1 = [responseData objectFromJSONData]; 
    NSMutableArray *ad = [data1 objectForKey:@"routes"]; 
    NSMutableArray *data2 = [[ad objectAtIndex:0] objectForKey:@"legs"]; 
    NSMutableArray *data3 = [[data2 objectAtIndex:0] objectForKey:@"steps"]; 
// NSLog(@"Data3 %@", data3); 
    for(int i = 0; i<data3.count;i++){ 
     NSLog(@"Start %@", [[data3 objectAtIndex:i] objectForKey:@"start_location"]); 
     NSLog(@"End %@", [[data3 objectAtIndex:i] objectForKey:@"end_location"]); 

    } 

} 
+0

感謝太多。我現在用JSON框架。所以我編輯NSMutableDictionary * data1 = [responseData objectFromJSONData];到 到NSString * responseString = [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding]; – Musthafa 2012-04-11 07:07:47

+0

使用JSONKit。它的表現要比JSOn快 – Hiren 2012-04-11 07:41:59

0

我正在使用SBJson解析json數據。 一般來說,請致電[responseString JSONValue]獲取解析的數據。 你可以谷歌它的詳細參考。

+0

謝謝您的信息 – Musthafa 2012-04-11 07:16:34