2011-05-05 96 views
2

我无法在我的视图中添加多个注释。它只增加一个。这里是我的代码。谢谢。Mapkit多注释

const char *sql1=[final1 UTF8String]; 
     sqlite3_stmt *statement1; 
     if(sqlite3_prepare_v2(database,sql1,-1,&statement1,NULL)==SQLITE_OK) 
     { 
      tableData1=[[NSMutableArray alloc] init]; 
      while (sqlite3_step(statement1) == SQLITE_ROW) 
      { 
       l++; 
       NSLog(@"numar de lapuri%d",l); 
       [tableData1 addObject:[NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement1, 0)]]; 
       [tableData1 addObject:[NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement1, 1)]]; 
       [tableData1 addObject:[NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement1, 2)]]; 
       [tableData1 addObject:[NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement1, 3)]]; 
       [tableData1 addObject:[NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement1, 4)]]; 
       [tableData1 addObject:[NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement1, 5)]]; 
       [tableData1 addObject:[NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement1, 6)]]; 
       [tableData1 addObject:[NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement1, 7)]]; 
       [tableData1 addObject:[NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement1, 8)]]; 

       NSString* laplat=[tableData1 objectAtIndex:7]; 
       NSString* longlat=[tableData1 objectAtIndex:8]; 
       NSLog(@"lap lat:%@",laplat); 
       NSLog(@"lap lat:%@",longlat); 
       lapcoord.latitude=[laplat doubleValue]; 
       lapcoord.longitude=[longlat doubleValue]; 
       annotation=[[AnnotationDelegate alloc] initWithCoordinate:lapcoord]; 
       [mapView addAnnotation:annotation]; 
       [annotation release]; 
       NSLog(@"added"); 
      } 
      NSLog(@"Works lap"); 
     } 

回答

1

你必须保持一个数组的注释和使用

[mapView addAnnotations:annotationsArray]; 
+0

ok.Thanks的帮助。 – user739509 2011-05-05 08:44:33

+0

接受答案,如果它帮助你 – visakh7 2011-05-05 08:45:14

+2

使用'addAnnotation:'一次添加多个注释是没有问题的。你不必使用'addAnnotations:',在这种情况下它只是隐藏了原始的逻辑问题。这里出现的情况是,经度和纬度总是从tableData1的索引7和索引8中获得,该索引仅适用于第一个位置。所以它创建了多个注释,但都在同一个坐标上。 – Anna 2011-05-05 13:07:40