Анимированная аннотация на WKInterfaceMap Watchkit
Есть ли в любом случае анимированная аннотация для WKInterfaceMap
Watchkit?
У меня есть 35 изображений для формирования анимации. В настоящее время я использую NSTimer
какие звонки
-(void)addAnnotation:(CLLocationCoordinate2D)location withImageNamed:(NSString *)name centerOffset:(CGPoint)offset
метод с другими именами изображений, но результат не эффективен, и анимация не является плавной, поскольку каждый раз необходимо сначала удалить предыдущую аннотацию и добавить новую.
Любой комментарий / предложение с благодарностью.
1 ответ
Я думаю, что это не может быть достигнуто с помощью WKInterfaceMap, но это может быть достигнуто с помощью WKInterfaceImage. Я не реализовал все шаги, но поток может быть,
Создать снимок карты с выбранной длиной в центре в виде UIImage с помощью MKMapSnapshotter,
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. Вы можете рассмотреть этот ответ для рендеринга изображений.
Используйте эти динамически генерируемые NSMutableArray изображений и установите Animation для WKInterfaceImage, чтобы достигнуть аннотации карты.