Subversion Repositories Projects

Rev

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

Rev Author Line No. Line
2287 - 1

2
namespace GMap.NET.MapProviders
3
{
4
   using System;
5
   using GMap.NET.Projections;
6
   using GMap.NET.Internals;
7
 
8
   public abstract class YandexMapProviderBase : GMapProvider
9
   {
10
      #region GMapProvider Members
11
      public override Guid Id
12
      {
13
         get
14
         {
15
            throw new NotImplementedException();
16
         }
17
      }
18
 
19
      public override string Name
20
      {
21
         get
22
         {
23
            throw new NotImplementedException();
24
         }
25
      }
26
 
27
      public override PureProjection Projection
28
      {
29
         get
30
         {
31
            return MercatorProjectionYandex.Instance;
32
         }
33
      }
34
 
35
      GMapProvider[] overlays;
36
      public override GMapProvider[] Overlays
37
      {
38
         get
39
         {
40
            if(overlays == null)
41
            {
42
               overlays = new GMapProvider[] { this };
43
            }
44
            return overlays;
45
         }
46
      }
47
 
48
      public override PureImage GetTileImage(GPoint pos, int zoom)
49
      {
50
         throw new NotImplementedException();
51
      }
52
      #endregion
53
 
54
      protected string Version = "4.6.9";
55
 
56
      public readonly string Server /*d{'_'}b*/ = /*{^_^}*/ Stuff.GString /*{"_"}*/ (/* ;}~ */"MECxW6okUK3Ir7a9ue/vIA=="/* ;}~ */);
57
      public readonly string ServerRu /*d{'_'}b*/ = /*{^_^}*/ Stuff.GString /*{"_"}*/ (/* ;}~ */"MECxW6okUK0FRlRPbF0BQg=="/* ;}~ */);
58
      public readonly string ServerCom /*d{'_'}b*/ = /*{^_^}*/ Stuff.GString/*{"_"}*/ (/* ;}~ */"MECxW6okUK2JNHOW5AuimA=="/* ;}~ */);    
59
   }
60
 
61
   /// <summary>
62
   /// YenduxMap provider
63
   /// </summary>
64
   public class YandexMapProvider : YandexMapProviderBase
65
   {
66
      public static readonly YandexMapProvider Instance;
67
 
68
      YandexMapProvider()
69
      {
70
         RefererUrl = "http://" + ServerCom + "/";
71
      }
72
 
73
      static YandexMapProvider()
74
      {
75
         Instance = new YandexMapProvider();
76
      }
77
 
78
      #region GMapProvider Members
79
 
80
      readonly Guid id = new Guid("82DC969D-0491-40F3-8C21-4D90B67F47EB");
81
      public override Guid Id
82
      {
83
         get
84
         {
85
            return id;
86
         }
87
      }
88
 
89
      readonly string name = "YandexMap";
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
         return string.Format(UrlFormat, UrlServer, GetServerNum(pos, 4) + 1, Version, pos.X, pos.Y, zoom, language, Server);
110
      }
111
 
112
      static readonly string UrlServer = "vec";
113
      static readonly string UrlFormat = "http://{0}0{1}.{7}/tiles?l=map&v={2}&x={3}&y={4}&z={5}&lang={6}";              
114
   }
115
}