PageRenderTime 19ms CodeModel.GetById 11ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/MapView/Map/RMAbstractMercatorWebSource.h

http://github.com/route-me/route-me
C Header | 66 lines | 27 code | 13 blank | 26 comment | 0 complexity | 9c56d877ebc2aaf67bcb84f85956e120 MD5 | raw file
 1//
 2//  RMMercatorWebSource.h
 3//
 4// Copyright (c) 2008-2009, Route-Me Contributors
 5// All rights reserved.
 6//
 7// Redistribution and use in source and binary forms, with or without
 8// modification, are permitted provided that the following conditions are met:
 9//
10// * Redistributions of source code must retain the above copyright notice, this
11//   list of conditions and the following disclaimer.
12// * Redistributions in binary form must reproduce the above copyright notice,
13//   this list of conditions and the following disclaimer in the documentation
14//   and/or other materials provided with the distribution.
15//
16// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26// POSSIBILITY OF SUCH DAMAGE.
27
28#import "RMTileSource.h"
29#import "RMFractalTileProjection.h"
30
31#pragma mark --- begin constants ---
32#define kDefaultTileSize 256
33#define kDefaultMinTileZoom 0
34#define kDefaultMaxTileZoom 18
35#define kDefaultLatLonBoundingBox ((RMSphericalTrapezium){.northeast = {.latitude = 90, .longitude = 180}, .southwest = {.latitude = -90, .longitude = -180}})
36#pragma mark --- end constants ---
37
38@protocol RMAbstractMercatorWebSource
39
40-(NSString*) tileURL: (RMTile) tile;
41
42@end
43
44@interface RMAbstractMercatorWebSource : NSObject <RMTileSource> {
45	RMFractalTileProjection *tileProjection;
46	BOOL networkOperations;
47}
48
49-(id) init;
50
51-(void) networkOperationsNotification: (NSNotification*) notification;
52
53-(int) tileSideLength;
54-(void) setTileSideLength: (NSUInteger) aTileSideLength;
55
56-(float) minZoom;
57-(float) maxZoom;
58
59-(RMSphericalTrapezium) latitudeLongitudeBoundingBox;
60
61-(NSString *)shortName;
62-(NSString *)longDescription;
63-(NSString *)shortAttribution;
64-(NSString *)longAttribution;
65
66@end