我在我的应用中设置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];
}
}
所以现在标题正在返回,但只有在有线旋转发生后才会返回。
我该如何管理? 谢谢!
答案 0 :(得分:0)
您必须拥有自己的代码才能将轮换保持在您想要的位置。 MKUserTrackingModeFollowWithHeading
的一半是Follow
部分,通过将地图拖动到其他地方,您可以停止以下操作。当位置管理器更新用户的位置时,您可以读取该标题,并将MKMapview旋转到该值。