Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2498 - 1

2
namespace GMap.NET.MapProviders
3
{
4
   using System;
5
   using GMap.NET.Projections;
6
 
7
   public abstract class LatviaMapProviderBase : GMapProvider
8
   {
9
      public LatviaMapProviderBase()
10
      {
11
         RefererUrl = "http://www.ikarte.lv/default.aspx?lang=en";
12
         Copyright = string.Format("©{0} Hnit-Baltic - Map data ©{0} LR Valsts zemes dieniests, SIA Envirotech", DateTime.Today.Year);
13
         MaxZoom = 11;
14
         Area = new RectLatLng(58.0794870805093, 20.3286067123543, 7.90883164336887, 2.506129113082);
15
      }
16
 
17
      #region GMapProvider Members
18
      public override Guid Id
19
      {
20
         get
21
         {
22
            throw new NotImplementedException();
23
         }
24
      }
25
 
26
      public override string Name
27
      {
28
         get
29
         {
30
            throw new NotImplementedException();
31
         }
32
      }
33
 
34
      public override PureProjection Projection
35
      {
36
         get
37
         {
38
            return LKS92Projection.Instance;
39
         }
40
      }
41
 
42
      GMapProvider[] overlays;
43
      public override GMapProvider[] Overlays
44
      {
45
         get
46
         {
47
            if(overlays == null)
48
            {
49
               overlays = new GMapProvider[] { this };
50
            }
51
            return overlays;
52
         }
53
      }
54
 
55
      public override PureImage GetTileImage(GPoint pos, int zoom)
56
      {
57
         throw new NotImplementedException();
58
      }
59
      #endregion
60
   }
61
 
62
   /// <summary>
63
   /// LatviaMap provider, http://www.ikarte.lv/
64
   /// </summary>
65
   public class LatviaMapProvider : LatviaMapProviderBase
66
   {
67
      public static readonly LatviaMapProvider Instance;
68
 
69
      LatviaMapProvider()
70
      {
71
      }
72
 
73
      static LatviaMapProvider()
74
      {
75
         Instance = new LatviaMapProvider();
76
      }
77
 
78
      #region GMapProvider Members
79
 
80
      readonly Guid id = new Guid("2A21CBB1-D37C-458D-905E-05F19536EF1F");
81
      public override Guid Id
82
      {
83
         get
84
         {
85
            return id;
86
         }
87
      }
88
 
89
      readonly string name = "LatviaMap";
90
      public override string Name
91
      {
92
         get
93
         {
94
            return name;
95
         }
96
      }
97
 
98
      public override PureImage GetTileImage(GPoint pos, int zoom)
99
      {
100
         string url = MakeTileImageUrl(pos, zoom, LanguageStr);
101
 
102
         return GetTileImageUsingHttp(url);
103
      }
104
 
105
      #endregion
106
 
107
      string MakeTileImageUrl(GPoint pos, int zoom, string language)
108
      {
109
         // http://www.maps.lt/cache/ikartelv/map/_alllayers/L03/R00000037/C00000053.png
110
         // http://www.maps.lt/arcgiscache/ikartelv/map/_alllayers/L02/R0000001c/C0000002a.png
111
         // http://services.maps.lt/mapsk_services/rest/services/ikartelv/MapServer/tile/5/271/416.png?cl=ikrlv
112
 
113
         return string.Format(UrlFormat, zoom, pos.Y, pos.X);
114
      }
115
 
116
      static readonly string UrlFormat = "http://services.maps.lt/mapsk_services/rest/services/ikartelv/MapServer/tile/{0}/{1}/{2}.png?cl=ikrlv";
117
      //static readonly string UrlFormat = "http://www.maps.lt/arcgiscache/ikartelv/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.png";
118
   }
119
}