怎么在iOS中实现百度地图定位签到功能

  介绍

本篇文章给大家分享的是有关怎么在iOS中实现百度地图定位签到功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强>一、在APPdelegate。米文件中引入:

# import  & lt; BaiduMapAPI_Base/BMKBaseComponent.h>   # import  & lt; BMKLocationKit/BMKLocationComponent.h>

加入功能代码:

# pragma  mark 百度地图设置   安康;(空白)configBaiduMap  {   ,NSString  * ak =, @" xxxx";   ,BMKMapManager  * mapManager =, [[BMKMapManager  alloc], init);=,,self.mapManager  mapManager;   ,BOOL  ret =, [mapManager 开始:ak  generalDelegate: nil);   sharedInstance], [[BMKLocationAuth  checkPermisionWithKey: ak  authDelegate:自我);   (!,if  ret), {   NSLog才能(@" manager  start 失败!“);   }大敌;   }

<强>二,在用到地图定位功能的viewController中

# import  & lt; BMKLocationKit/BMKLocationComponent.h>   # import  & lt; BaiduMapAPI_Base/BMKBaseComponent.h>//引入基地相关所有的头文件   # import  & lt; BaiduMapAPI_Map/BMKMapComponent.h>//引入地图功能所有的头文件

遵循协议<代码> & lt; BMKMapViewDelegate, BMKLocationManagerDelegate>

声明全局变量

@property (原子,,强烈),BMKUserLocation  * userLocation;,//当前位置对象   @property (原子,,强烈),BMKLocationManager  * locationManager;/* * locationManager */@property (原子,,强烈),BMKMapView  * mapView;/* *,百度地图*///@property (原子,强),BMKPointAnnotation *, annotation ,/* *,标记*/@property (原子,,强烈),NSMutableArray  * annotationArr;/* *,标记数组*/@property (原子,,强烈),NSMutableArray  * circleArr;/* *,圆形数组*/

地图SDK文档中建议在以下代码中如此设置,目的是控制内存

安康;(空白)那些:(BOOL) animated  {   ,(super 那些:动画);   ,[_mapView 那些];=,_mapView.delegate 自我;   }      安康;(空白)viewWillDisappear:(BOOL) animated  {   ,(super  viewWillDisappear:动画);   ,[_mapView  viewWillDisappear];=,_mapView.delegate 零;   }      安康;(空白)dealloc  {   ,if  (_mapView), {   时间=_mapView 才能;零;   ,}   }

初始化数组,这两个数组在接下来会用到

安康;(NSMutableArray  *) annotationArr  {   ,   ,if  (! _annotationArr), {   时间=_annotationArr 才能;[NSMutableArray 数组);   ,}   ,return  _annotationArr;   }      安康;(NSMutableArray  *) circleArr  {   ,if  (! _circleArr), {   时间=_circleArr 才能;[NSMutableArray 数组);   ,}   ,return  _circleArr;   }

添加地图视图

# pragma  mark 添加地图   安康;(空白)addSignMapBgView  {   ,if  (! self.mapBgView), {   UIView 才能;* mapBgView =, (UIView 新);   时间=self.mapBgView 才能;mapBgView;   时间=mapBgView.backgroundColor 才能;[CommUtls  colorWithHexString APP_BgColor):;   (才能self  addSubview mapBgView):;   (才能mapBgView  makeConstraints: ^ (MASConstraintMaker  *), {   ,,make.top.equalTo (self.tipView.bottom);   ,,make.left.right.bottom.equalTo (0);   ,,}];   ,,   _mapView 才能=,[[BMKMapView  alloc], initWithFrame: CGRectZero);//,,_mapView.delegate =,自我;   ,,(_mapView  setZoomLevel: 21);//精确到5米   时间=_mapView.showsUserLocation 才能;是的;//显示定位图层   (才能mapBgView  addSubview _mapView):;   (才能_mapView  makeConstraints: ^ (MASConstraintMaker  *), {   ,,make.edges.equalTo (0);   ,,}];   时间=_mapView.userTrackingMode 才能;BMKUserTrackingModeNone;   ,,   ,}   }

初始化地图定位:这里我用的是一次定位而没有选择持续定位。

# pragma  mark 初始化locationManager   安康;(空白)initUserLocationManager  {   ,//因为mapView是在一个分离出来的视图中创建的,所以在这里将signSetTypeView中的mapView赋给当前viewcontroller的mapView;=,,self.mapView  self.mainView.signSetTypeView.mapView;=,self.mapView.delegate 自我;//,self.annotation =, [[BMKPointAnnotation  alloc], init);   ,   ,//self.mapView是BMKMapView对象   ,//精度圈设置   ,BMKLocationViewDisplayParam  * param =, [[BMKLocationViewDisplayParam  alloc], init);   ,//设置显示精度圈,默认是的=,param.isAccuracyCircleShow 是的;   ,//精度圈,边框颜色=,param.accuracyCircleStrokeColor  [UIColor  colorWithRed: 242/255.0 格林:129/255.0 蓝色:126/255.0 α:1];   ,//精度圈,填充颜色   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在iOS中实现百度地图定位签到功能