Subversion Repositories Projects

Rev

Rev 2289 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2287 - 1

2
namespace GMap.NET.MapProviders
3
{
4
   using System;
5
 
6
   /// <summary>
7
   /// GoogleHybridMap provider
8
   /// </summary>
9
   public class GoogleHybridMapProvider : GoogleMapProviderBase
10
   {
11
      public static readonly GoogleHybridMapProvider Instance;
12
 
13
      GoogleHybridMapProvider()
14
      {
15
      }
16
 
17
      static GoogleHybridMapProvider()
18
      {
19
         Instance = new GoogleHybridMapProvider();
20
      }
21
 
2294 - 22
      public string Version = "h@366000000"; //"h@333000000";
2287 - 23
 
24
        #region GMapProvider Members
25
 
26
        readonly Guid id = new Guid("B076C255-6D12-4466-AAE0-4A73D20A7E6A");
27
      public override Guid Id
28
      {
29
         get
30
         {
31
            return id;
32
         }
33
      }
34
 
35
      readonly string name = "GoogleHybridMap";
36
      public override string Name
37
      {
38
         get
39
         {
40
            return name;
41
         }
42
      }
43
 
44
      GMapProvider[] overlays;
45
      public override GMapProvider[] Overlays
46
      {
47
         get
48
         {
49
            if(overlays == null)
50
            {
51
               overlays = new GMapProvider[] { GoogleSatelliteMapProvider.Instance, this };
52
            }
53
            return overlays;
54
         }
55
      }
56
 
57
      public override PureImage GetTileImage(GPoint pos, int zoom)
58
      {
59
         string url = MakeTileImageUrl(pos, zoom, LanguageStr);
60
 
61
         return GetTileImageUsingHttp(url);
62
      }
63
 
64
      #endregion
65
 
66
      string MakeTileImageUrl(GPoint pos, int zoom, string language)
67
      {
68
         string sec1 = string.Empty; // after &x=...
69
         string sec2 = string.Empty; // after &zoom=...
70
         GetSecureWords(pos, out sec1, out sec2);
71
 
72
         return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, language, pos.X, sec1, pos.Y, zoom, sec2, Server);
73
      }
74
 
75
      static readonly string UrlFormatServer = "mt";
76
      static readonly string UrlFormatRequest = "vt";
77
      static readonly string UrlFormat = "http://{0}{1}.{10}/maps/{2}/lyrs={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}";
78
   }
79
}