在用高德地图开发中,开发者有时候会发现有些方法说是xxx时候执行,但是就是不执行的问题,比如这高德地图加载成功的代理回调方法:
/**
* @brief 地图加载成功
* @param mapView 地图View
*/
- (void)mapViewDidFinishLoadingMap:(MAMapView *)mapView;
不是说高德地图有问题,是我们理解错了,地图加载成功回调一次,并不是每次滑动地图都会加载地图的。第一次运行加载一个范围,当地图滑出这个范围后才会再次加载地图。
这个方法不是不执行,可以写个小demo调试一下就知道了。当第一次运行demo的时候肯定是会执行的,因为第一次要加载地图,第二次就直接run就不会执行了,是因为这时候高德地图已经加载成功了,不再执行此方法了。再次将demo删除,重新安装运行来实验一下也是会执行的。或者将地图滑动至比较远的地方,或者另一个城市等,这样地图也是会加载,这个方法的回到也是会执行的。