Mapview刷新不起作用

时间:2011-09-20 06:24:02

标签: iphone objective-c mkmapview ios4

我正在显示两个地方之间的路线。我的项目是一个基于导航的项目。在viewWillAppear:方法中,我使用位置管理器跟踪用户的当前位置。在里面 - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation方法我得到用户当前位置的坐标。

我用这个绘制地图。现在当我回到上一个视图并返回地图视图时,它不会加载用户位置。它不会调用- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation方法。

我该如何纠正这个?每次来这堂课我都需要得到地图路线。

提前致谢

1 个答案:

答案 0 :(得分:0)

我也将用这个回答我自己的问题:

我看过关于如何重置视图,重绘图层等的帖子。我对语言缺乏经验(相当(不是新的)),所以我所做的就是黑客攻击,但它有效。我希望你能使用它,但是找到更好的解决方案。

查看控制器:

- (void)viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];

    mapView.region = MKCoordinateRegionMakeWithDistance([mapView centerCoordinate],2587600.0, 2587600.0);

}

- (void)viewWillDisappear:(BOOL)animated {

    [super viewWillDisappear:animated];

    mapView.region = MKCoordinateRegionMakeWithDistance([mapView centerCoordinate],5.0, 5.0);
}

因此,当视图离开时,以及...视图,然后地图缩放到很远。当视图返回到视图时,数据被重新加载并且瞧。您的里程可能会有所不同,但这种方法可以完美地满足我的需求。

它根本不是一种刺耳的效果。它是无缝的。从UI的角度来看,没有任何变化。

喝彩! 罗伯特