2012-03-29 46 views
0

在這裏,我面臨的問題是在mapview上顯示多個針腳的問題。我有10個標註不同的位置值,而不是銷在不同的地方都在一個點上顯示的顯示這裏是我的代碼爲它在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; 

    } 

任何人都可以請幫我哪裏做錯了。

感謝所有, Monish

+0

顯示的'coordinate'屬性是如何在'NPAnnotation'實現。此外,'subTitle'屬性應該被命名爲'subtitle'。 – Anna 2012-03-29 13:20:01

回答

1

您的註解類,NPAnnotation,需要實現MKAnnotation,對於這些,你需要有一個協調性質。

您需要將marinaLocation作爲座標調用,並且它需要成爲CLLocationCoordinate2D。

此外您的子標題需要被稱爲小標題。

從蘋果文檔:

了採用該協議必須實現的目標座標 財產。該協議的其他方法是可選的。

最好的問候,並希望它能幫助你。

-

您還可以看看:How to show the annotations in a mapView

相關問題