H5W3
当前位置:H5W3 > 其他技术问题 > 正文

百度地图定位didUpdateLocations为什么会触发两次?

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
CLLocation *cation =[locations objectAtIndex:0];
NSLog(@”纬度–%f”,cation.coordinate.latitude);
NSLog(@”经度–%f”,cation.coordinate.longitude);
[self.locationManager stopUpdatingLocation];//停止更新位置
}

回答:

这不是百度的,百度的是- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation

百度底层会调用那些CL开头的方法,所有是有值的,建议删掉交给百度SDK处理
你只用调取- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation

回答:

为什么有时会出发两次,有时出发一次?

回答:

楼主,此didUpdateLocations代理方法,是会调用多次的,因为定位的时候,如果手机移动的话,经纬度也会跟着变化,此方法就是随之改变的经纬度

我做百度地图的时候定位需求没用到-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

以下几种
– (void)mapViewWillStartLocatingUser:(BMKMapView *)mapView
– (void)didUpdateUserHeading:(BMKUserLocation *)userLocation
– (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation
– (void)mapViewDidStopLocatingUser:(BMKMapView *)mapView

本文地址:H5W3 » 百度地图定位didUpdateLocations为什么会触发两次?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址