2012-11-27 37 views
1

我正在使用下面的代碼來接收來自CLGeocoder的地標,並且我想在同一個viewcontroller上僅顯示另一個textview中的城市。我如何從這個數組中解析出城市?這不是一個NSDictionary或任何東西,所以我堅持要做什麼。如何從CLGeocoder解析地標到只顯示城市

CLGeocoder *geocoder = [[CLGeocoder alloc] init]; 

[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) { 
    NSLog(@"reverseGeocodeLocation:completionHandler: Completion Handler called!"); 
    if (error){ 
     NSLog(@"Geocode failed with error: %@", error); 
     return; 
    } 
    NSLog(@"Received placemarks: %@", placemarks); 
}]; 

我的日誌給定標如下:

< __NSArrayM 0x1a0b3810>( 937-961桑尼維爾薩拉託加路,937-961桑尼維爾薩拉託加路,桑尼維爾,CA 94087,美國@ < + 37.35984860,-122.03235910> +/-100.00米 )

< __NSArrayM 0x19576ac0>( 5600範Nuys Blvd,5600 Van Nuys Blvd,Van Nuys,CA 91401-4602,美國@ < + 34.17257000,-118.44794450> +/- 100.00m,區域(標識符< + 34.17257001,-118.44794464>半徑57.64)< + 34.17257001, - 118.44794464> radius 57.64m )

我怎麼能得到桑尼維爾或範奈斯部分顯示爲一個字符串?

+0

啊,好了,所以它返回具有關聯性CLPlacemark對象。完全誤解了文檔,我認爲它返回了一個字符串的混亂。 –

回答

5

使用CLPlacemark'sproperties

CLGeocoder * geoCoder = [[CLGeocoder alloc] init]; 
[geoCoder reverseGeocodeLocation:yourLocation completionHandler:^(NSArray *placemarks, NSError *error) { 
    CLPlacemark *placemark = [placemarks objectAtIndex:0]; 
    NSString *strCity = [placemark locality]; 
    NSLog(@"%@",strCity); 
}]; 
+0

我回答了我自己的問題,不過謝謝! –

相關問題