我在我的应用程序中设置MKMapView对象,以显示用户位置,并将地图锁定在设备标题上,如下所示:
- (void)viewDidLoad
{
[super viewDidLoad];
[self firstSetMapView];
}
-(void)firstSetMapView{
_map_view.delegate = self;
_map_view.showsUserLocation = YES;
_map_view.userTrackingMode = MKUserTrackingModeFollowWithHeading;
} 如果我不拖曳地图的话,效果会很好。如果我改变缩放级别,它的工作就像预期的一样好。问题是,当我拖动地图时,我看到地图被旋转到另一个标题,MKUserTrackingModeFollow,所以我实现了以下代码:
- (void)mapView:(MKMapView *)mapView didChangeUserTrackingMode:(MKUserTrackingMode)mode animated:(BOOL)animated {
if (mapView.userTrackingMode != MKUserTrackingModeFollowWithHeading) {
[mapView setUserTrackingMode:MKUserTrackingModeFollowWithHeading];
}
}因此,现在航向返回,但只有在有线旋转发生之后。
我该怎么处理呢?谢谢!
发布于 2013-12-02 19:03:15
你必须有你自己的代码来保持你想要的旋转。MKUserTrackingModeFollowWithHeading的一半是Follow部件,通过将映射拖到其他地方,您已经停止了以下操作。当Location更新用户的位置时,您可以读取标题,并将MKMapview旋转到该值。
https://stackoverflow.com/questions/20330349
复制相似问题