2011-09-20 112 views
0

我正在顯示2個地點之間的路線。我的項目是一個基於導航的項目。在viewWillAppear:方法中,我使用位置管理器跟蹤用戶的當前位置。在 - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation方法我得到用戶的當前位置的座標。Mapview刷新不起作用

我用這個繪製地圖。現在,當我回到上一個視圖並返回地圖視圖時,它不會加載用戶位置。它不打電話- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation方法。

我該如何解決這個問題?我每次來這個班都需要獲得地圖路線。

在此先感謝

+0

您是在設備上還是在模擬器中看到此問題?模擬器並不總是發佈定期的位置更新。僅在模擬器中使用 – mjisrawi

+0

。它顯示的當前位置是cupertino。這是第二次,但我點擊「地圖」按鈕,它不再上傳的位置。 – cancerian

回答

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的角度來看,沒有什麼變化。

乾杯! Robert