CoreAnimationRenderer.m
2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
//
// CoreAnimationRenderer.m
// RouteMe
//
// Created by Joseph Gentle on 9/09/08.
// Copyright 2008 __MyCompanyName__. All rights reserved.
//
#import "CoreAnimationRenderer.h"
#import "MapView.h"
#import <QuartzCore/QuartzCore.h>
#import "LayeredTileLoader.h"
#import "MathUtils.h"
#import "LayerToScreenProjection.h"
@implementation CoreAnimationRenderer
- (id) initWithView: (MapView *)_view
{
ScreenProjection *_proj = [[ScreenProjection alloc] initWithBounds:[_view bounds]];
//[[LayerToScreenProjection alloc] initWithBounds:[_view bounds] InLayer:[_view layer]];
if (![super initWithView:_view ProjectingIn:_proj])
return nil;
// tileLayer.position = CGPointMake(0.0f,0.0f);
// tileLayer.transform = CATransform3DIdentity;
// tileLayer.bounds = [view bounds];
tileLoader = [[LayeredTileLoader alloc] initForScreen:screenProjection FromImageSource:[view tileSource]];
/*
layer = [CAScrollLayer layer];
layer.anchorPoint = CGPointMake(0.0f, 0.0f);
layer.frame = [view bounds];
*/
// [layer addSublayer:sublayer];
[view.layer addSublayer:[tileLoader layer]];
return self;
}
-(void)mapImageLoaded: (NSNotification*)notification
{
}
-(void) recalculateImageSet
{
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:0.0f]
forKey:kCATransactionAnimationDuration];
[CATransaction setValue:(id)kCFBooleanTrue
forKey:kCATransactionDisableActions];
[tileLoader assemble];
[CATransaction commit];
}
-(void) moveToMercator: (MercatorPoint) point
{
[super moveToMercator:point];
}
-(void) moveToLatLong: (CLLocationCoordinate2D) point
{
[super moveToLatLong:point];
}
- (void)moveBy: (CGSize) delta
{
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:0.0f]
forKey:kCATransactionAnimationDuration];
[CATransaction setValue:(id)kCFBooleanTrue
forKey:kCATransactionDisableActions];
[super moveBy:delta];
[tileLoader moveBy:delta];
[tileLoader assemble];
[CATransaction commit];
}
- (void)zoomByFactor: (float) zoomFactor Near:(CGPoint) center
{
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:0.0f]
forKey:kCATransactionAnimationDuration];
[CATransaction setValue:(id)kCFBooleanTrue
forKey:kCATransactionDisableActions];
[super zoomByFactor:zoomFactor Near:center];
[tileLoader zoomByFactor:zoomFactor Near:center];
[tileLoader assemble];
[CATransaction commit];
}
@end