在我的应用程序设计中,我想显示倾斜的地图(就像Apple 3D地图一样,但在iOS 7之前也是如此)。我正在使用变换来实现这一目标,但结果并不理想。
我的注释看起来有些偏差(我希望它们直接和面向用户 - 不与我的地图对齐)。在应用变换后,我的地图也会停止滚动。
- (void) animateMap
{
[UIView animateWithDuration:0.8 animations:
^{
CATransform3D transform = CATransform3DIdentity;
transform.m34 = 1.0 / -1200.0;
transform = CATransform3DRotate(transform, M_PI_4, 1.0, 0.0, 0.0);
CATransform3D transform1 = CATransform3DScale(transform, 1.33, 1.66, 0);
map.layer.transform = transform1;
}
completion:^(BOOL finished)
{
for (id ann in map.annotations)
{
[UIView animateWithDuration:0.8 animations:
^{
MKAnnotationView * annView = [map viewForAnnotation:ann];
CATransform3D transform = CATransform3DIdentity;
transform.m34 = 1.0 / -1200.0;
transform = CATransform3DRotate(transform, -M_PI_4, 1.0, 0.0, 0.0);
annView.layer.transform = transform;
}];
}
}];
}