1

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

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

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

4

2 回答 2

0

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

尝试

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

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

苹果文档:http: //developer.apple.com/library/ios/#DOCUMENTATION/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html

于 2013-06-07T21:44:24.313 回答
-2

在视图中调用此方法 - 视图将出现同一类的方法

[locationManager startUpdatingLocation];
于 2013-06-07T20:36:19.660 回答