/MapView/Map/RMTileMapServiceSource.m
Objective C | 74 lines | 39 code | 9 blank | 26 comment | 1 complexity | bf3481a8bf1c29cf8536002011c0b292 MD5 | raw file
1// 2// RMTileMapServiceSource.m 3// 4// Copyright (c) 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 "RMTileMapServiceSource.h" 29 30@implementation RMTileMapServiceSource 31 32-(id) init: (NSString*) _host uniqueKey: (NSString*) _key minZoom: (float) _minZoom maxZoom: (float) _maxZoom 33{ 34 if(self = [super init]) 35 { 36 [self setMaxZoom:_maxZoom]; 37 [self setMinZoom:_minZoom]; 38 host = _host; 39 key = _key; 40 } 41 42 return self; 43} 44 45 46-(NSString*) tileURL: (RMTile) tile 47{ 48 NSString *URL = [NSString stringWithFormat:@"%@/%d/%d/%d.png", host, tile.zoom, tile.x, (uint32_t)pow(2.0,(double)tile.zoom)-1-tile.y]; 49 50 return URL; 51} 52 53-(NSString*) uniqueTilecacheKey 54{ 55 return key; 56} 57-(NSString *)shortName 58{ 59 return @"TMS"; 60} 61-(NSString *)longDescription 62{ 63 return @"Tile Map Service"; 64} 65-(NSString *)shortAttribution 66{ 67 return @"n/a"; 68} 69-(NSString *)longAttribution 70{ 71 return @"n/a"; 72} 73 74@end