我使用的是mapview,有時我的地圖會在我打開它時放大到我的用戶位置,但有時它會縮放到海洋中間。我不知道是什麼導致這種情況,這是我用於縮放的代碼。我不想地圖來追蹤用戶,但只放大自己的位置,一旦他們打開地圖MKMapView有時會縮放到用戶位置有時會放大到無處可能
-(void) viewDidAppear:(BOOL)animated{
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(self.mapView.userLocation.coordinate, 600.0f, 600.0f);
[self.mapView setRegion:region animated:YES];
}
-(void) viewDidLoad{
[super viewDidLoad];
self.mapView.delegate = self;
[self.mapView setShowsUserLocation:YES];
}
這個解決方案的問題是我想顯示用戶在地圖上的位置,所以如果我設置showsUserLocation = NO,那麼它不會彈出。但是,如果我離開它,那麼gps將不斷更新用戶位置,並在我不需要時重新調整我的地圖位置。有沒有辦法確保不使用此方法設置userLocation? – user2076774
這就是爲什麼我使用isShowUserLocation(我創建的一個BOOL變量,而不是mapView的showsUserLocation屬性)來控制更新。它適用於剛纔描述的問題。我建議你嘗試一下,看看自己的結果。 – Rick
感謝這個工程,我唯一的問題是這會增加電池壽命,因爲現在你不斷使用GPS和調用didupdateUserLocation? – user2076774