2012-06-26 32 views
0

我試圖找到一個註釋的許多MKMapViews座標以這樣的方式閱讀過MKMapViews的註釋中的NSArray

NSMutableArray *latitudes = [NSMutableArray array]; 

for (MKMapView *map in MapViewArray) 
{ 
    NSString *latitude = [NSString stringWithFormat:@"%.2f", [map.annotations lastObject].coordinate.latitude];      
    [latitudes addObject: latitude]; 
} 

NSMutableArray *longitudes = [NSMutableArray array]; 

for (MKMapView *map in MapViewArray) 
{ 
    NSString *longitude = [NSString stringWithFormat:@"%.2f", [map.annotations lastObject].coordinate.latitude]; 


    [longitudes addObject: longitude]; 
} 

此代碼,雖然給了我這個錯誤:

property 'coordinate' not found on object of type id 

如何我能解決嗎?

數組中的地圖視圖都屬於這種類型:

@property (nonatomic, retain) IBOutlet MKMapView *mapView2; 

回答

2

必須指定MKAnnotation協議,使其編譯:

NSMutableArray *latitudes = [NSMutableArray array]; 
NSMutableArray *longitudes = [NSMutableArray array]; 

for (MKMapView *map in MapViewArray) 
{ 
    id<MKAnnotation> annotation = [map.annotations lastObject]; 
    NSString *latitude = [NSString stringWithFormat:@"%.2f", annotation.coordinate.latitude];      
    NSString *longitude = [NSString stringWithFormat:@"%.2f", annotation.coordinate.latitude];   
    [longitudes addObject: longitude]; 
    [latitudes addObject: latitude]; 
} 

我也優化你的代碼只使用一個循環。