我正在显示两个地方之间的路线。我的项目是一个基于导航的项目。在viewWillAppear:
方法中,我使用位置管理器跟踪用户的当前位置。在里面
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
方法我得到用户当前位置的坐标。
我用这个绘制地图。现在当我回到上一个视图并返回地图视图时,它不会加载用户位置。它不会调用- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
方法。
我该如何纠正这个?每次来这堂课我都需要得到地图路线。
提前致谢
答案 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的角度来看,没有任何变化。
喝彩! 罗伯特