iOS百度地图,不能实时定位问题

20 篇文章 0 订阅
9 篇文章 0 订阅

项目中加入了百度地图,但是发现一个问题,就是有些时候可以实时更新位置,有些时候则不行。

然后排查问题,第一次进去的时候可以实时更新位置,然后第二次进去的时候不能实时更新位置,可能有些人已经猜到了问题的所在,就是第一次进去的时候生成的一些东西,在你退出的时候被注销了,然后第二次进入没有进行生成。也许有些人会说是代码不规范造成的,我接受,但是这种问题也许会有另外一个朋友遇到,我就是想把我的问题拿出来分享下。

好了,上代码

- (void)viewDidLoad {
    [super viewDidLoad];
 //   [self creatMaps];
    // Do any additional setup after loading the view.
}
- (void)viewWillAppear:(BOOL)animated {
    [self creatMaps];
}
//大家应该看到区别了,生成的地图,和定位服务的对象放到了不同的地方,放到DidLoad里面会出问题,第二次进来不能进行定位,因为在willDisappear里面被注销了,所以要放在WillAppear里面
- (void)viewWillDisappear:(BOOL)animated { 
    self.mapView.delegate = nil;
    self.locService.delegate = nil;  
}
- (void)creatMaps {
    self.mapView = [[BMKMapView alloc] initWithFrame:CGRectMake(0, 0, KScreenW, KScreenH - 300)];
    [self.view addSubview:_mapView];
    self.mapView.delegate = self;
    self.mapView.mapType = BMKMapTypeStandard;
    self.mapView.showsUserLocation = YES;
    self.mapView.zoomLevel = 19;
    self.locService = [[BMKLocationService alloc] init];
    _locService.delegate = self;
    _locService.desiredAccuracy = kCLLocationAccuracyBest;
    [_locService startUserLocationService];
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值