错误方法
/**
* @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;