高德地图加载完成后,首次获取用户当前位置信息

错误方法

/**
 * @brief 地图初始化完成(在此之后,可以进行坐标计算)
 * @param mapView 地图View
 */
- (void)mapInitComplete:(MAMapView *)mapView;

这个地图初始化完成的方法里,获取到的用户位置经纬度信息,偶尔出现经纬度为0,0的情况。但是,Delay一下就可以获取到。

正确方法

因为定位需要一定的时间,所以您需要在showsUserLocation=YES后,在下面的回调中获取当前位置:

/**
 * @brief 位置或者设备方向更新后,会调用此函数
 * @param mapView 地图View
 * @param userLocation 用户定位信息(包括位置与设备方向等数据)
 * @param updatingLocation 标示是否是location数据更新, YES:location数据更新 NO:heading数据更新
 */
- (void)mapView:(MAMapView *)mapView didUpdateUserLocation:(MAUserLocation *)userLocation updatingLocation:(BOOL)updatingLocation;

你可能感兴趣的:(高德地图加载完成后,首次获取用户当前位置信息)