didUpdateUserLocation没有被调用重新加载视图

时间:2013-06-07 20:06:46

标签: ios objective-c mkmapview

我有一个mapViewController(在导航控制器中)。当我第一次打开它时,在viewDidLoad之后,- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation被调用。

当我回到之前的viewController并再次访问mapViewController时,未调用didUpdateUserLocation委托,因此我的注释没有显示。

请帮助我找到解决问题的方法。谢谢。

2 个答案:

答案 0 :(得分:1)

如果您希望地图视图继续跟踪用户的位置并定期更新,则应将MapView showsUserLocation设置为YES(默认值为NO)。

尝试

- (void)viewWillAppear:(BOOL)animated 
{    
    [super viewWillAppear:animated];
    ...
    [mapView setShowsUserLocation: YES];
}

- (void)viewWillDisappear:(BOOL)animated 
{
    [super viewWillDisappear:animated];
    ...
    [mapView setShowsUserLocation: NO];
}

Apple Doc:http://developer.apple.com/library/ios/#DOCUMENTATION/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html

答案 1 :(得分:-2)

在-view中调用此方法将出现相同类的方法

[locationManager startUpdatingLocation];