【问题标题】:Animated annotation on WKInterfaceMap WatchkitWKInterfaceMap Watchkit 上的动画注释
【发布时间】:2015-06-07 08:22:46
【问题描述】:

Watchkit的WKInterfaceMap有动画注释吗?

我有 35 张图像来制作动画。目前我正在使用NSTimer 调用

-(void)addAnnotation:(CLLocationCoordinate2D)location withImageNamed:(NSString *)name centerOffset:(CGPoint)offset

使用不同图像名称的方法,但结果效率不高,动画也不流畅,因为每次都必须先删除以前的注释并添加新注释。

非常感谢任何评论/建议。

【问题讨论】:

  • 在 WKInterfaceMap 框架参考中提到,“地图一次最多只能显示五个注释”。 - developer.apple.com/library/ios/documentation/WatchKit/…
  • 感谢您的评论。我不是那个意思,我想在地图上有 35 个图像。我想要一个动画注释,Apple Watch 应用程序中的动画似乎只能使用一组图像。这么简单,怎么可能在手表上的地图上有一个动画图钉。
  • 可以通过WKInterfaceImage实现,查看更新答案。

标签: ios animation annotations apple-watch wkinterfacegroup


【解决方案1】:

我认为这不能使用 WKInterfaceMap 来实现,但可以使用 WKInterfaceImage 来实现。我还没有实现所有步骤,但流程可以,

使用 MKMapSnapshotter 生成地图的快照,中心选择 lat-long 作为 UIImage,

MKMapSnapshotOptions * snapOptions= [[MKMapSnapshotOptions alloc] init];
CLLocation * Location = [[CLLocation alloc] initWithLatitude:23.0300 longitude:72.5800];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(Location.coordinate, 300, 300);
snapOptions.region = region;
snapOptions.size = CGSizeMake(300, 300);
snapOptions.scale = [[UIScreen mainScreen] scale];

MKMapSnapshotter *mapSnapShot = [[MKMapSnapshotter alloc] initWithOptions:snapOptions];
[mapSnapShot startWithCompletionHandler:^(MKMapSnapshot *snapshot, NSError *error) {
    if (error) {
        NSLog(@"[Error] %@", error);
        return;
    }

    UIImage *image = snapshot.image;//map image
    NSLog(@"%@",image);
    [self.mapImage setImage:image];
}];
  • 我们已经在资源中有注释图像所以动态创建 注释图像的合并图像以映射快照图像。如果你想 要从顶部添加动画,那么您需要渲染注释图像 从地图图像上的点 (150,0) 到 (150,150)。如果你正在生成 15 幅动画图像,然后你需要为循环设置 15 个限制和 每次将注释图像的 Y 增加到 150/15 = 10。跟踪 NSMutableArray 中的这些合并图像。您可以考虑使用this answer 来渲染图像。

  • 使用这些动态生成的 NSMutableArray 图像并设置为 WKInterfaceImage动画实现地图标注。

【讨论】:

  • 感谢您的回复。我不是那个意思,我想在地图上有 35 个图像。我想要一个动画注释,Apple Watch 应用程序中的动画似乎只能使用一组图像。这么简单,怎么可能在手表上的地图上有一个动画图钉。
  • MKMapSnapshotter 在 Apple watch 中尚不可用。
猜你喜欢
  • 2016-05-22
  • 1970-01-01
  • 2021-10-25
  • 2012-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多