- #pragma mark - BMKMapViewDelegate
- // 根据anntation生成对应的View
- - (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation
- {
- //普通annotation
- NSString *AnnotationViewID = @"ClusterMark";
- ClusterAnnotation *cluster = (ClusterAnnotation*)annotation;
- ClusterAnnotationView *annotationView = [[ClusterAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID];
- annotationView.size = cluster.size;
- annotationView.canShowCallout = NO;//在点击大头针的时候会弹出那个黑框框
- annotationView.draggable = NO;//禁止标注在地图上拖动
- annotationView.annotation = cluster;
- // annotationView.image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:annotation.subtitle]]];
- annotationView.centerOffset=CGPointMake(0,0);
- UIView *viewForImage=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 110, 110)];
- UIImageView *imageview=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 110, 110)];
- [imageview setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:annotation.subtitle]]]];
- imageview.layer.masksToBounds=YES;
- imageview.layer.cornerRadius = 10;
- [viewForImage addSubview:imageview];
- annotationView.image=[self getImageFromView:viewForImage];
- return annotationView;
- }
- -(UIImage *)getImageFromView:(UIView *)view{
- UIGraphicsBeginImageContext(view.bounds.size);
- [view.layer renderInContext:UIGraphicsGetCurrentContext()];
- UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return image;
- }
- //气泡框左侧显示的View,可自定义
- annotationView.leftCalloutAccessoryView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon_location.png"]];
- //气泡框右侧显示的View 可自定义
- annotationView.rightCalloutAccessoryView =selectButton;
- //让标注在进入界面时就处于弹出气泡框的状态
- [annotationView setSelected:YES animated:YES];
iOS中设置百度地图自定义标注图片,自定义泡泡
最新推荐文章于 2020-06-09 10:14:47 发布