ios 地图大头针固定在地图中心,用用地图中心点左边逆地理编码,及高德云图周边搜索

废话不多说,直接上代码:

一.添加一个点在地图中心,其实很简单,直接将一imageView添加到屏幕的中心就行了,注意的是在这之前先添加mapView,以免被覆盖

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH - 40) / 2, (SCREEN_HEIGHT - 60) / 2, 40, 60)];

    imageView.image = [UIImage imageNamed:@"redPin_lift"];

    [self.view addSubview:imageView];


二.在地图区域改变完成后的接口

- (void)mapView:(MAMapView *)mapView regionDidChangeAnimated:(BOOL)animated

中获取地图中心点坐标

  - (void)mapView:(MAMapView *)mapView regionDidChangeAnimated:(BOOL)animated

   { 

    MACoordinateRegion region;

    CLLocationCoordinate2D centerCoordinate = mapView.region.center;

    region.center = centerCoordinate;

   拿到中心点后,就随你怎么弄,为所欲为了................   我是用他来做逆地理编码后在地图上显示地址,和云图的周边搜索


三.显示逆地理编码的地址

    同一,在self.view上添加一个view,用于显示地址,用全局的

   _fixedView = [[CustomCalloutView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH - 120) / 2, (SCREEN_HEIGHT - 80) / 2 - 40, 120, 50)];

    [self.view addSubview:_fixedView];


    _fixedTitleLabel = [[UILabel alloc] init];

    _fixedTitleLabel.lineBreakMode = NSLineBreakByCharWrapping;

    _fixedTitleLabel.numberOfLines = 0;

    [_fixedView addSubview:_fixedTitleLabel];

  在地图区域即将改变的接口中先隐藏view,

  - (void)mapView:(MAMapView *)mapView regionWillChangeAnimated:(BOOL)animated

  {

    _fixedView.hidden = YES;

  }

  在地图区域改变完成后的接口中再将它显示

  - (void)mapView:(MAMapView *)mapView regionDidChangeAnimated:(BOOL)animated

 {      _fixedView . hidden  =  NO ;
四.对获得的中心点逆地理编码,成功后就地址给label显示出来

五.对获得的中心点,用云图的周边搜索

  [self aroundSearchRequestWithCoordinate:centerCoordinate];

 搜索出的结果只需要addAnnotations就行了,不要再showAnnotations了,应为showAnnotations又会触发   - ( void )mapView:( MAMapView  *)mapView  regionDidChangeAnimated:( BOOL )animated;那样就bug了


总结:具体功能类似神州专车,如果不清楚需求可以去看看。第一次写博客,写得不太好,文中不妥之处,望多指教,不胜感激。如有疑问请联系QQ:1065885706

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值