地图在iphone中不能顺利旋转

时间:2012-12-01 06:44:13

标签: iphone objective-c ipad

您好我正在使用iPhone中的地图。 Iam旋转地图视图与方向。地图在旋转,但运动不顺畅。

我使用下面的代码来旋转地图。谁能告诉我任何顺利旋转地图视图的建议?

float oldRad =  -manager.heading.trueHeading * M_PI / 180.0f;
float newRad =  -newHeading.trueHeading * M_PI / 180.0f;
CABasicAnimation *theAnimation;
theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.rotation"];
theAnimation.fromValue = [NSNumber numberWithFloat:oldRad];
theAnimation.toValue=[NSNumber numberWithFloat:newRad];
theAnimation.duration = 0.5f;
[mapView setTransform:CGAffineTransformMakeRotation(newRad)];
CGPoint anchorPoint = CGPointMake(0, 0);
[[mapView annotations] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) 
 {
     MKAnnotationView * view = [mapView viewForAnnotation:obj];

     [view setTransform:CGAffineTransformMakeRotation(newRad)];
     [view setCenterOffset:CGPointApplyAffineTransform(anchorPoint, CGAffineTransformMakeRotation(newRad))];

 }];

1 个答案:

答案 0 :(得分:0)

在iOS 5.0及更高版本中,您可以使用

[mapView setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:YES];

检查MKMapView's documentation,尤其是跟踪用户位置部分,了解有关此内容的更多信息。

但是,如果您仍然想要支持旧版本的iOS,那么您将不得不解决所有这些故障和错误。我自己完成了(在iOS 5出局之前),相信我,你最好放弃iOS 4的支持。