ios 百度地图SDK 设置标注点显示优先级,并自定义弹出视图

 

- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id<BMKAnnotation>)annotation {
    if ([annotation isKindOfClass:[CustomAnnotation class]]) {
        /**
         根据指定标识查找一个可被复用的标注,用此方法来代替新创建一个标注,返回可被复用的标注
         */
        BMKPinAnnotationView *annotationView = (BMKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:annotationViewIdentifier];
        if (!annotationView) {
            /**
             初始化并返回一个annotationView
             @param annotation 关联的annotation对象
             @param reuseIdentifier 如果要重用view,传入一个字符串,否则设为nil,建议重用view
             @return 初始化成功则返回annotationView,否则返回nil
             */
            annotationView = [[BMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annotationViewIdentifier];
        }
        NSString *fileName;
        if ([((CustomAnnotation*)annotation).specialFlag isEqual:@"start"]) {
            fileName = @"start_70";
//            CGPoint p={11,-11};
//            annotationView.centerOffset=p;
             [annotationView setBounds:CGRectMake(0, 0, 50, 50)];
            annotationView.displayPriority=251 ;
        }else if([((CustomAnnotation*)annotation).specialFlag isEqual:@"end"]){
            fileName = @"end";
             [annotationView setBounds:CGRectMake(0, 0, 50, 50)];
            annotationView.displayPriority=252 ;
        }else{
            fileName = @"icon_nav_waypoint";
             annotationView.displayPriority=BMKFeatureDisplayPriorityDefaultLow;
        }
        UIImage *img=[UIImage imageNamed:fileName];
        //annotationView显示的图片,默认是大头针
        annotationView.image =img;
        TimeAddressPaoPaoView *customPopView = [[[NSBundle mainBundle] loadNibNamed:@"TimeAddressPaoPaoView" owner:nil options:nil] firstObject];
        [customPopView setTimeStr:((CustomAnnotation*)annotation).timeStr andAddressStr:((CustomAnnotation*)annotation).title];
        BMKActionPaopaoView *pView = [[BMKActionPaopaoView alloc] initWithCustomView:customPopView];
        pView.frame = customPopView.frame;
        annotationView.paopaoView = pView;
        return annotationView;
    }
    return nil;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值