PageRenderTime 32ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/MapView/Map/RMOpenCycleMapSource.m

http://github.com/route-me/route-me
Objective C | 72 lines | 39 code | 7 blank | 26 comment | 2 complexity | adefd5082846b7b3ce51d2ee6a3caa56 MD5 | raw file
  1. //
  2. // OpenCycleMapSource.m
  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. #import "RMOpenCycleMapSource.h"
  28. @implementation RMOpenCycleMapSource
  29. -(id) init
  30. {
  31. if(self = [super init])
  32. {
  33. [self setMaxZoom:18];
  34. [self setMinZoom:1];
  35. }
  36. return self;
  37. }
  38. -(NSString*) tileURL: (RMTile) tile
  39. {
  40. NSAssert4(((tile.zoom >= self.minZoom) && (tile.zoom <= self.maxZoom)),
  41. @"%@ tried to retrieve tile with zoomLevel %d, outside source's defined range %f to %f",
  42. self, tile.zoom, self.minZoom, self.maxZoom);
  43. return [NSString stringWithFormat:@"http://tile.opencyclemap.org/cycle/%d/%d/%d.png", tile.zoom, tile.x, tile.y];
  44. }
  45. -(NSString*) uniqueTilecacheKey
  46. {
  47. return @"OpenCycleMap";
  48. }
  49. -(NSString *)shortName
  50. {
  51. return @"OpenCycleMap";
  52. }
  53. -(NSString *)longDescription
  54. {
  55. return @"OpenCycleMap, a worldwide map for cyclists based on OpenStreetMap data, available under the Creative Commons Attribution-Share Alike 2.0 license.";
  56. }
  57. -(NSString *)shortAttribution
  58. {
  59. return @"© OpenCycleMap CC-BY-SA";
  60. }
  61. -(NSString *)longAttribution
  62. {
  63. return @"Map data © OpenCycleMap, licensed under Creative Commons Share Alike By Attribution.";
  64. }
  65. @end