0

我想在 MKMapView 上做一个动画注释视图,但我希望动画是平滑的(不像这样),我认为 CoreAnimation 可能是最好的方法。

我目前正在考虑创建一个 CALayer 的子类作为我的 MKAnnotation 委托,并使用 CoreAnimation 为我的坐标属性设置动画。我认为我什至可以将其用作 MKAnnotationView 的层。

但这是我对 CoreAnimation 理解的局限,因为我从来没有改变层的层次结构,也没有对我的视图层进行一些 3d 转换。

你认为这是解决问题的好方法吗?

您是否有任何代码可以分享以帮助实现目标?

先感谢您。

编辑:如果您认为有更好的方法来执行此操作,例如使 MKAnnotation 委托成为 NSObject 的子类,请也告诉我。我的目标是平滑地为坐标设置动画,为此我想到了 QuartzCore 框架。

4

1 回答 1

0

图层与其他图层或视图相关联。

MKAnnotation 对象是直接来自 NSObject 的数据容器对象。您不能使图层成为“MKAnnotation 的代表”

您要做的是设置 MKAnnotationView 的自定义子类,并将图层和动画添加到您的自定义子类。您的地图视图将创建并返回您的自定义注释视图对象,以响应 mapView:viewForAnnotation: 地图视图委托方法。

我自己没有尝试过,但它应该可以工作。文档说注释视图在地图缩放时不会缩放,因此您必须以固定大小创建注释视图,或者变得聪明并编写代码在地图比例更改时缩放注释视图。

于 2012-10-08T15:14:06.243 回答