Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 2497 → Rev 2498

/MKLiveView/v1.0/Source/MKLiveView/GMap.NET.Core/GMap.NET.MapProviders/Etc/SpainMapProvider.cs
0,0 → 1,93

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
/// <summary>
/// SpainMap provider, http://sigpac.mapa.es/fega/visor/
/// </summary>
public class SpainMapProvider : GMapProvider
{
public static readonly SpainMapProvider Instance;
 
SpainMapProvider()
{
Copyright = string.Format("©{0} SIGPAC", DateTime.Today.Year);
MinZoom = 5;
Area = new RectLatLng(43.8741381814747, -9.700927734375, 14.34814453125, 7.8605775962932);
}
 
static SpainMapProvider()
{
Instance = new SpainMapProvider();
}
 
readonly string[] levels =
{
"0", "1", "2", "3", "4",
"MTNSIGPAC",
"MTN2000", "MTN2000", "MTN2000", "MTN2000", "MTN2000",
"MTN200", "MTN200", "MTN200",
"MTN25", "MTN25",
"ORTOFOTOS","ORTOFOTOS","ORTOFOTOS","ORTOFOTOS"
};
 
#region GMapProvider Members
 
readonly Guid id = new Guid("7B70ABB0-1265-4D34-9442-F0788F4F689F");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "SpainMap";
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 PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, levels[zoom], zoom, pos.X, ((2 << zoom - 1) - pos.Y - 1));
}
 
static readonly string UrlFormat = "http://sigpac.mapa.es/kmlserver/raster/{0}@3785/{1}.{2}.{3}.img";
}
}