您好我正在使用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))];
}];
答案 0 :(得分:0)
在iOS 5.0及更高版本中,您可以使用
[mapView setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:YES];
检查MKMapView's documentation,尤其是跟踪用户位置部分,了解有关此内容的更多信息。
但是,如果您仍然想要支持旧版本的iOS,那么您将不得不解决所有这些故障和错误。我自己完成了(在iOS 5出局之前),相信我,你最好放弃iOS 4的支持。