Files
@ ae8f7007cb0e
Branch filter:
Location: seniordesign-ui/GMap.NET.Core/GMap.NET.MapProviders/Ovi/OviMapProvider.cs
ae8f7007cb0e
2.7 KiB
text/x-csharp
Added licensing information
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 |
namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
public abstract class OviMapProviderBase : GMapProvider
{
public OviMapProviderBase()
{
MaxZoom = null;
RefererUrl = "http://maps.ovi.com/";
Copyright = string.Format("©{0} OVI Nokia - Map data ©{0} NAVTEQ, Imagery ©{0} DigitalGlobe", 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;
}
}
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
protected static readonly string UrlServerLetters = "bcde";
}
/// <summary>
/// OviMap provider
/// </summary>
public class OviMapProvider : OviMapProviderBase
{
public static readonly OviMapProvider Instance;
OviMapProvider()
{
}
static OviMapProvider()
{
Instance = new OviMapProvider();
}
#region GMapProvider Members
readonly Guid id = new Guid("30DC1083-AC4D-4471-A232-D8A67AC9373A");
public override Guid Id
{
get
{
return id;
}
}
readonly string name = "OviMap";
public override string Name
{
get
{
return name;
}
}
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)
{
// http://c.maptile.maps.svc.ovi.com/maptiler/v2/maptile/newest/normal.day/12/2321/1276/256/png8
return string.Format(UrlFormat, UrlServerLetters[GetServerNum(pos, 4)], zoom, pos.X, pos.Y);
}
static readonly string UrlFormat = "http://{0}.maptile.maps.svc.ovi.com/maptiler/v2/maptile/newest/normal.day/{1}/{2}/{3}/256/png8";
}
}
|