美文网首页
百度地图自定义标注及控制旋转

百度地图自定义标注及控制旋转

作者: EdwardSelf | 来源:发表于2016-09-28 14:40 被阅读1702次

    曾经在网上查了一晚上都没有查出来,需求是自定义标注,并让标注旋转,iOS里百度地图并没有提供给我们这个接口,那我们就自定义重写。

    思想: 继承BMKAnnotationView这个类创建一个自定义的标注视图类,在这个类里添加一个imageView,我们通过控制这个imageView来控制标注的旋转。

    在类的初始化方法里调用我们的imageView,imageView的大小可以自行设置,图片也是。

    - (id)initWithAnnotation:(id)annotation reuseIdentifier:(NSString*)reuseIdentifier{

    if(self= [superinitWithAnnotation:annotationreuseIdentifier:reuseIdentifier]) {

    [selfimageView];

    }

    returnself;

    }

    - (UIImageView*)imageView {

    if(_imageView==nil) {

    _imageView= [[UIImageViewalloc]initWithFrame:CGRectMake(0,0,100,100)];

    _imageView.image= [UIImageimageNamed:@"1"];

    [selfaddSubview:_imageView];

    //_imageView.backgroundColor =[UIColor blackColor];

    }

    return_imageView;

    }

    在- (BMKAnnotationView*)mapView:(BMKMapView*)mapView viewForAnnotation:(id

    )annotation的代理方法里使用自定义的view来创建视图

    newAnnotationView= [[CustomAnnotationViewalloc]initWithAnnotation:annotationreuseIdentifier:@"myAnnotation"];

    returnnewAnnotationView;

    我们可以通过按钮随机给自定义视图旋转角度,也可以通过定时器给,在我的demo里用的是按钮随机给。

    旋转前 旋转后

    demo用法:先添加一个自定义标注,然后不停的点击旋转的按钮,就可以看到自定义视图不停的旋转了。

    Demo: https://github.com/edwardGG/-

    相关文章

      网友评论

          本文标题:百度地图自定义标注及控制旋转

          本文链接:https://www.haomeiwen.com/subject/obghyttx.html