PageRenderTime 24ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/MapView/Map/RMTileMapServiceSource.m

http://github.com/route-me/route-me
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. #import "RMTileMapServiceSource.h"
  28. @implementation RMTileMapServiceSource
  29. -(id) init: (NSString*) _host uniqueKey: (NSString*) _key minZoom: (float) _minZoom maxZoom: (float) _maxZoom
  30. {
  31. if(self = [super init])
  32. {
  33. [self setMaxZoom:_maxZoom];
  34. [self setMinZoom:_minZoom];
  35. host = _host;
  36. key = _key;
  37. }
  38. return self;
  39. }
  40. -(NSString*) tileURL: (RMTile) tile
  41. {
  42. NSString *URL = [NSString stringWithFormat:@"%@/%d/%d/%d.png", host, tile.zoom, tile.x, (uint32_t)pow(2.0,(double)tile.zoom)-1-tile.y];
  43. return URL;
  44. }
  45. -(NSString*) uniqueTilecacheKey
  46. {
  47. return key;
  48. }
  49. -(NSString *)shortName
  50. {
  51. return @"TMS";
  52. }
  53. -(NSString *)longDescription
  54. {
  55. return @"Tile Map Service";
  56. }
  57. -(NSString *)shortAttribution
  58. {
  59. return @"n/a";
  60. }
  61. -(NSString *)longAttribution
  62. {
  63. return @"n/a";
  64. }
  65. @end