0

この方法で、多くの MKMapViews で注釈の座標を見つけようとしています。

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;
4

1 に答える 1

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];
}

また、ループを 1 つだけ使用するようにコードを最適化しました。

于 2012-06-26T13:38:07.880 に答える