2012-03-29 4 views
0

mapview에서 여러 핀을 표시 할 때 문제가 있습니다. 내가 잘못하고있는 중이 야 어디mapview의 여러 핀이 iphone SDK의 예상 위치에 표시되지 않습니다.

-(IBAction)searchMarinaAction 
{ 
    MarinasListviewController *controller = [[MarinasListviewController alloc]initWithNibName:@"MarinasListviewController" bundle:nil]; 
    UIPopoverController *popoverView = [[UIPopoverController alloc]initWithContentViewController:controller]; 
    [popoverView setDelegate:self]; 

    marinasList = [controller.marinasListArray copy]; 
    NSMutableArray *pinsArray = [[NSMutableArray alloc]init]; 
    NSLog(@"\n marinas list count = %d",[marinasList count]); 
    for(int i = 0; i < [marinasList count]; i++) 
    { 
     MarinaObject *obj = [marinasList objectAtIndex:i]; 
     NPAnnotation *annot = [[NPAnnotation alloc]init]; 
     annot.title = obj.marinaTitle; 
     annot.subTitle = obj.marinaSubTitle; 
     annot.marinaLocation = obj.marinaLocation; 
     NSLog(@"\n %d. %@ , %@, %f, %f ",i, annot.title,  annot.subTitle,annot.marinaLocation.latitude,annot.marinaLocation.longitude); 
     [pinsArray addObject:annot]; 

     isFromSearchMarina = YES; 
     [annot release]; 
    } 
    [mkView addAnnotations:pinsArray]; 
} 



- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation{ 



    MKPinAnnotationView *pinView = (MKPinAnnotationView*)[mkView dequeueReusableAnnotationViewWithIdentifier:@"Prospects"]; 

    if(pinView == nil) { 
     pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Prospects"]; 
     pinView.pinColor = MKPinAnnotationColorGreen; 
     pinView.animatesDrop = YES; 
     pinView.canShowCallout = YES; 
    } else { 
     pinView.annotation = annotation; 
    } 
    return pinView; 

    } 

사람이 도와 주실 래요 내가 여기에 모두가 한 지점에서 표시되는 다른 장소에 표시하는 대신 다른 위치 값 핀 10 주석을 갖고 있어요 나의 코드입니다. 모든

감사합니다, Monish는

+0

쇼. 또한,'subTitle' 속성은'subtitle'으로 명명되어야합니다. – Anna

답변

1

귀하의 주석 클래스, NPAnnotation는 MKAnnotation를 구현해야하고, 이들에 대한 당신은 좌표 속성이 있어야합니다.

좌표로 marinaLocation을 호출해야하며 CLLocationCoordinate2D가되어야합니다.

자막 역시 자막이라고 부릅니다. 사과 문서에서

:

이 프로토콜을 구현해야 채택하는 객체 속성을 좌표입니다. 이 프로토콜의 다른 방법은 선택 사항입니다.

감사합니다.

-

또한 한 번 봐 걸릴 수 있습니다은`coordinate` 속성이 NPAnnotation``에서 구현하는 방법을 How to show the annotations in a mapView