美文网首页
iOS 接百度地图API中的一个小坑😓

iOS 接百度地图API中的一个小坑😓

作者: coderJerry01 | 来源:发表于2017-06-29 15:18 被阅读80次

关于设置代理 直接在此复制官方的设置:
-(void)viewWillAppear:(BOOL)animated
{
[_mapView viewWillAppear];
_mapView.delegate = self; // 此处记得不用的时候需要置nil,否则影响内存的释放
}
-(void)viewWillDisappear:(BOOL)animated
{
[_mapView viewWillDisappear];
_mapView.delegate = nil; // 不用时,置nil
}
我所遇到的坑是,自定义大头针时的坑。因为设置代理是在viewWillAppear中,而我直接就在viewdidload中直接添加大头针,所以很坑的事情来了,怎么都不显示自定义的大头针图片。

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

    if ([annotation isKindOfClass:[BMKPointAnnotation class]]) {

      BMKPinAnnotationView *newAnnotationView = [[BMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"myAnnotation"];
      newAnnotationView.pinColor = BMKPinAnnotationColorPurple;
      //newAnnotationView.animatesDrop = YES;// 设置该标注点动画显示
      newAnnotationView.annotation = annotation;
      newAnnotationView.paopaoView = nil;
      newAnnotationView.image = [UIImage imageNamed:@"btn_weizhi_selected"];
          UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAciton:)];
          //设置点按的次数
      
          tap.numberOfTapsRequired = 1;
      
          //设置点按的手指的数
      
          tap.numberOfTouchesRequired = 1;
      
          // 2.为控件添加手势
      
          [newAnnotationView addGestureRecognizer:tap];
      return newAnnotationView;
    

    }
    return nil;
    }
    上述是mapview的一个代理方法,如果你直接在viewdidload中添加大头针是无法改变官方的大头针图片的,你只需要换个地方,例如网络请求中,刷新位置按钮然后触发添加大头针的方法即可,不知道你理解我的意思没。

PS:记录自己开发中遇到的坑,不喜勿喷。。。😅

相关文章

网友评论

      本文标题:iOS 接百度地图API中的一个小坑😓

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