美文网首页iOS 开发iOS Developer学无止境
iOS百度地图的使用——自定义大头针

iOS百度地图的使用——自定义大头针

作者: 时尚灬IT男 | 来源:发表于2016-10-14 09:58 被阅读4322次

    如果在你的app中需要用到百度地图,下面是我的一些经验。


    网上的那些介绍类似百度地图使用的,多而杂,按照其操作,往往看似要成功,就差那么点,不如直接进百度开放平台里的开发指南:开发指南


    1.下载SDK

    2.注册百度地图应用,获得(访问应用(AK))

    3.配置开发环境(按照开发文档一步一步操作是最好的)


    完成上面繁琐的配置开发环境,接下来仿照开发指南里的demo,和里面的(类参考),基本上就能完成百度地图的大部分功能了。



    自定义大头针


    //自定义百度地图的大头针

    -(BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id)annotation{

    BMKPinAnnotationView *newAnnotationView = [[BMKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@"myAnnotation"];

    newAnnotationView.pinColor = BMKPinAnnotationColorPurple;

    newAnnotationView.animatesDrop = YES;//设置该标点动画显示

    newAnnotationView.annotation = annotation;

    //    newAnnotationView.image = [UIImage imageNamed:@"1"];

    //    添加手势双击时跳转

    UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];

    //设置点按的次数

    tap.numberOfTapsRequired = 2;

    //    //设置点按的手指的数

    //    tap.numberOfTouchesRequired = 2;

    // 2.为控件添加手势

    [newAnnotationView addGestureRecognizer:tap];

    return newAnnotationView;

    }

    // 3.实现手势执行的方法

    - (void)tap:(UITapGestureRecognizer*)sender

    {


    注意:

    代理和添加大头针要放在viewWillAppear里面,否则可能出现自定义无效。

    - (void)viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];

    self.mapView.delegate = self;

    [self addAnnotation];

    }

    - (void)viewWillDisappear:(BOOL)animated {

    [super viewWillDisappear:animated];

    self.mapView.delegate = nil;

    }

    - (void)addAnnotation {

    // 大头针1

    CLLocationCoordinate2D location1=CLLocationCoordinate2DMake(30.10, 108.35);

    BMKPointAnnotation *annotation1=[[BMKPointAnnotation alloc]init];annotation1.title=@"利川";

    annotation1.subtitle=@"****";

    annotation1.coordinate=location1;

    //    annotation1.image=[UIImage imageNamed:@"1"];

    [self.mapView addAnnotation:annotation1];

    // 大头针2

    CLLocationCoordinate2D location2=CLLocationCoordinate2DMake(41.17, 114.72);

    BMKPointAnnotation *annotation2=[[BMKPointAnnotation alloc]init];

    annotation2.title=@"张北";

    annotation2.subtitle=@"*****";

    annotation2.coordinate=location2;

    // annotation2.image=[UIImage imageNamed:@"1"];

    [self.mapView addAnnotation:annotation2];

    // 大头针3

    CLLocationCoordinate2D location3=CLLocationCoordinate2DMake(47.55, 106.53);

    BMKPointAnnotation *annotation3=[[BMKPointAnnotation alloc]init];

    annotation3.title=@"Salkhif";

    annotation3.subtitle=@"*****";

    annotation3.coordinate=location3;

    // annotation2.image=[UIImage imageNamed:@"1"];

    [self.mapView addAnnotation:annotation3];

    // 大头针4

    CLLocationCoordinate2D location4=CLLocationCoordinate2DMake(31.56, 114.09);

    BMKPointAnnotation *annotation4=[[BMKPointAnnotation alloc]init];

    annotation4.title=@"大悟";

    annotation4.subtitle=@"****";

    annotation4.coordinate=location4;

    // annotation2.image=[UIImage imageNamed:@"1"];

    [self.mapView addAnnotation:annotation4];

    }

    相关文章

      网友评论

      • fighterboy:有没有demo 发一下 976032412@qq.com
        fighterboy:@放纵式守候 可以 留个QQ么 请教一下
        时尚灬IT男:@fighterboy 上面主要代码都有,是在我完成项目里摘下来的,可以理会下,用上面代码就能实现
      • 飞翔de小苹果:偶然看到你的文章,可能还是老乡

      本文标题:iOS百度地图的使用——自定义大头针

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