Subversion Repositories Projects

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2498 - 1

2
namespace GMap.NET.MapProviders
3
{
4
   using System;
5
 
6
   /// <summary>
7
   /// OpenCycleMap Transport provider - http://www.opencyclemap.org
8
   /// </summary>
9
   public class OpenCycleTransportMapProvider : OpenStreetMapProviderBase
10
   {
11
      public static readonly OpenCycleTransportMapProvider Instance;
12
 
13
      OpenCycleTransportMapProvider()
14
      {
15
         RefererUrl = "http://www.opencyclemap.org/";
16
      }
17
 
18
      static OpenCycleTransportMapProvider()
19
      {
20
         Instance = new OpenCycleTransportMapProvider();
21
      }
22
 
23
      #region GMapProvider Members
24
 
25
      readonly Guid id = new Guid("AF66DF88-AD25-43A9-8F82-56FCA49A748A");
26
      public override Guid Id
27
      {
28
         get
29
         {
30
            return id;
31
         }
32
      }
33
 
34
      readonly string name = "OpenCycleTransportMap";
35
      public override string Name
36
      {
37
         get
38
         {
39
            return name;
40
         }
41
      }
42
 
43
      GMapProvider[] overlays;
44
      public override GMapProvider[] Overlays
45
      {
46
         get
47
         {
48
            if(overlays == null)
49
            {
50
               overlays = new GMapProvider[] { this };
51
            }
52
            return overlays;
53
         }
54
      }
55
 
56
      public override PureImage GetTileImage(GPoint pos, int zoom)
57
      {
58
         string url = MakeTileImageUrl(pos, zoom, string.Empty);
59
 
60
         return GetTileImageUsingHttp(url);
61
      }
62
 
63
      #endregion
64
 
65
      string MakeTileImageUrl(GPoint pos, int zoom, string language)
66
      {
67
         char letter = ServerLetters[GMapProvider.GetServerNum(pos, 3)];
68
         return string.Format(UrlFormat, letter, zoom, pos.X, pos.Y);
69
      }
70
 
71
      static readonly string UrlFormat = "http://{0}.tile2.opencyclemap.org/transport/{1}/{2}/{3}.png";
72
   }
73
}