37、自定义气泡

// 根据anntation生成对应的View  

- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation  

{  

  1. NSString *AnnotationViewID = [NSString stringWithFormat:@"renameMark%d",i];  
  2.     newAnnotation = [[BMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID];  
  3. // 设置颜色  
  4.     ((BMKPinAnnotationView*)newAnnotation).pinColor = BMKPinAnnotationColorPurple;  
  5. // 从天上掉下效果  
  6.     ((BMKPinAnnotationView*)newAnnotation).animatesDrop = YES;  
  7. // 设置可拖拽  
  8.     ((BMKPinAnnotationView*)newAnnotation).draggable = YES;  
  9. //设置大头针图标  
  10.     ((BMKPinAnnotationView*)newAnnotation).image = [UIImage imageNamed:@"zhaohuoche"];  
  11. UIView *popView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 60)];  
  12. //设置弹出气泡图片  
  13. UIImageView *image = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"wenzi"]];  
  14.     image.frame = CGRectMake(0, 0, 100, 60);  
  15.     [popView addSubview:image];  
  16. //自定义显示的内容  
  17. UILabel *driverName = [[UILabel alloc]initWithFrame:CGRectMake(0, 3, 100, 20)];  
  18.     driverName.text = @"张XX师傅";  
  19.     driverName.backgroundColor = [UIColor clearColor];  
  20.     driverName.font = [UIFont systemFontOfSize:14];  
  21.     driverName.textColor = [UIColor whiteColor];  
  22.     driverName.textAlignment = NSTextAlignmentCenter;  
  23.     [popView addSubview:driverName];  
  24. UILabel *carName = [[UILabel alloc]initWithFrame:CGRectMake(0, 25, 100, 20)];  
  25.     carName.text = @"京A123456";  
  26.     carName.backgroundColor = [UIColor clearColor];  
  27.     carName.font = [UIFont systemFontOfSize:14];  
  28.     carName.textColor = [UIColor whiteColor];  
  29.     carName.textAlignment = NSTextAlignmentCenter;  
  30.     [popView addSubview:carName];  
  31. BMKActionPaopaoView *pView = [[BMKActionPaopaoView alloc]initWithCustomView:popView];  
  32.     pView.frame = CGRectMake(0, 0, 100, 60);  
  33.     ((BMKPinAnnotationView*)newAnnotation).paopaoView = nil;  
  34.     ((BMKPinAnnotationView*)newAnnotation).paopaoView = pView;  
  35.     i++;  
  36. return newAnnotation;  
  37. }  
原文地址:https://www.cnblogs.com/qiangzheVSruozhe/p/6841641.html