1

mapViewController (Navigation Controller 内) があります。初めて開いたとき、viewDidLoadの後、- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation呼び出されます。

前の viewController に戻って mapViewController に戻ると、didUpdateUserLocation デリゲートが呼び出されていないため、注釈が表示されません。

問題の解決策を見つけるのを手伝ってください。ありがとうございました。

4

2 に答える 2

0

マップ ビューで引き続きユーザーの位置を追跡し、定期的に更新する場合は、MapViewshowsUserLocationを YES (デフォルト値は NO) に設定する必要があります。

試す

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

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

Apple ドキュメント: 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 に答える