我有一個MKMapView,我試圖圍繞自己的底部中心旋轉。我有一個簡單的方法來獲取用戶的磁強計標題,並將地圖的相機視圖更改爲標題,這很好。iOS設置MKMapView相機標題旋轉周圍的錨點
雖然我的問題是在lat/long地圖上設置定位點,地圖會旋轉。我可以把我的期望點是我的地圖使用這種方法的底部:
-(void)setMapCenterFromLocation:(CLLocationCoordinate2D)location {
MKCoordinateRegion oldRegion = [self.mapView regionThatFits:MKCoordinateRegionMakeWithDistance(location, 10000, 10000)];
CLLocationCoordinate2D centerPointOfOldRegion = oldRegion.center;
CLLocationCoordinate2D centerPointOfNewRegion = CLLocationCoordinate2DMake(centerPointOfOldRegion.latitude + oldRegion.span.latitudeDelta/2.0, centerPointOfOldRegion.longitude);
MKCoordinateRegion newRegion = MKCoordinateRegionMake(centerPointOfNewRegion, oldRegion.span);
[self.mapView setRegion:newRegion animated:YES];
}
而且我可以旋轉與地圖:
- (void)magneticDirectionChanged:(NSNotification *)notification {
CLHeading *heading = (CLHeading *)[[notification userInfo] valueForKey:@"heading"];
CLLocationDirection newDirection = heading.trueHeading;
self.currentHeading = (int)newDirection;
[self.mapView.camera setHeading:self.currentHeading];
}
但是旋轉發生圍繞地圖的中心,而不是我想要的底部中心點。即使我調用setMapCenterFromLocation:在執行旋轉之後,它仍然將其視爲從北向看,因此它會轉到地圖的邊上。
如何在地圖底部中心保留特定點,同時以編程方式旋轉地圖/調整地圖大小?
編輯:我認爲解決方法是將地圖高度加倍,然後隱藏地圖的底部半部使其不可見。這怎麼可能完成?
這是很長一段時間,但剛剛回來。是的,無論你告訴它做什麼,mapview都不會畫出568的高度。我只想澄清答案,並說如果將MapView添加到具有所需高度的ScrollView,則MapView將按預期繪製。 – shiznatix
試圖找出這個3小時後,這救了我的生命!愛它! –