PageRenderTime 54ms CodeModel.GetById 26ms app.highlight 24ms RepoModel.GetById 1ms app.codeStats 0ms

/MapView/Map/RMYahooMapSource.m

http://github.com/route-me/route-me
Objective C | 83 lines | 44 code | 13 blank | 26 comment | 1 complexity | 8d0b7a6a4f16cb254d102d85b6904ad5 MD5 | raw file
 1//
 2//  RMYahooMapSource.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
28#import "RMYahooMapSource.h"
29#import <math.h>
30
31
32@implementation RMYahooMapSource
33
34- (id) init
35{ 
36	if(self = [super init])
37	{
38		[self setMaxZoom:18]; 
39		[self setMinZoom:1];
40	}
41	
42	return self;
43}
44
45- (NSString*) tileURL: (RMTile) tile
46{
47	NSInteger zoom = kDefaultMaxTileZoom - tile.zoom;
48	NSInteger shift = tile.zoom -1;
49	NSInteger x = tile.x;
50	NSInteger y = pow(2,shift)-1-tile.y;
51	NSString *tileThing = [NSString stringWithFormat:@"http://us.maps2.yimg.com/us.png.maps.yimg.com/png?v=3.1.0&t=m&x=%d&y=%d&z=%d",
52						   x, y,zoom];
53	NSLog(@"%@",tileThing);
54	return tileThing;
55	
56}
57
58-(NSString*) uniqueTilecacheKey
59{
60	return @"YahooMaps";
61}
62
63-(NSString *)shortName
64{
65	return @"Yahoo Map";
66}
67
68-(NSString *)longDescription
69{
70	return @"Yahoo Maps are severely restricted by Terms of Service for typical Route-Me applications. This sample code is for demonstration purposes only.";
71}
72
73-(NSString *)shortAttribution
74{
75	return @Yahoo Maps";
76}
77
78-(NSString *)longAttribution
79{
80	return @Map data © Yahoo, though the way we are accessing these tiles is against the Yahoo Terms of Service.";
81}
82
83@end