Files
@ 65c134a3d619
Branch filter:
Location: seniordesign-ui/GMap.NET.Core/GMap.NET.MapProviders/Etc/WikiMapiaMapProvider.cs
65c134a3d619
2.8 KiB
text/x-csharp
Initial import of mapping source (huge commit)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
public abstract class WikiMapiaMapProviderBase : GMapProvider
{
public WikiMapiaMapProviderBase()
{
MaxZoom = 22;
RefererUrl = "http://wikimapia.org/";
Copyright = string.Format("© WikiMapia.org - Map data ©{0} WikiMapia", DateTime.Today.Year);
}
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
public override string Name
{
get
{
throw new NotImplementedException();
}
}
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
public override GMapProvider[] Overlays
{
get
{
throw new NotImplementedException();
}
}
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
public static int GetServerNum(GPoint pos)
{
return (int)(pos.X % 4 + (pos.Y % 4) * 4);
}
}
/// <summary>
/// WikiMapiaMap provider, http://wikimapia.org/
/// </summary>
public class WikiMapiaMapProvider : WikiMapiaMapProviderBase
{
public static readonly WikiMapiaMapProvider Instance;
WikiMapiaMapProvider()
{
}
static WikiMapiaMapProvider()
{
Instance = new WikiMapiaMapProvider();
}
#region GMapProvider Members
readonly Guid id = new Guid("7974022B-1AA6-41F1-8D01-F49940E4B48C");
public override Guid Id
{
get
{
return id;
}
}
readonly string name = "WikiMapiaMap";
public override string Name
{
get
{
return name;
}
}
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
return GetTileImageUsingHttp(url);
}
#endregion
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, GetServerNum(pos), pos.X, pos.Y, zoom);
}
static readonly string UrlFormat = "http://i{0}.wikimapia.org/?x={1}&y={2}&zoom={3}";
}
}
|