Files
@ f2c2ba4ef3d4
Branch filter:
Location: seniordesign-ui/GMap.NET.Core/GMap.NET.MapProviders/Yandex/YandexMapProvider.cs
f2c2ba4ef3d4
2.7 KiB
text/x-csharp
Removed unneeded code and verified use of functions. project is essentially
complete except for some live testing and cache testing/experiments
complete except for some live testing and cache testing/experiments
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 |
namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
public abstract class YandexMapProviderBase : GMapProvider
{
#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 MercatorProjectionYandex.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 string Version = "2.26.0";
}
/// <summary>
/// YandexMap provider
/// </summary>
public class YandexMapProvider : YandexMapProviderBase
{
public static readonly YandexMapProvider Instance;
YandexMapProvider()
{
RefererUrl = "http://maps.yandex.ru/";
}
static YandexMapProvider()
{
Instance = new YandexMapProvider();
}
#region GMapProvider Members
readonly Guid id = new Guid("82DC969D-0491-40F3-8C21-4D90B67F47EB");
public override Guid Id
{
get
{
return id;
}
}
readonly string name = "YandexMap";
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://vec01.maps.yandex.ru/tiles?l=map&v=2.10.2&x=1494&y=650&z=11
// http://vec03.maps.yandex.net/tiles?l=map&v=2.19.5&x=579&y=326&z=10&g=Gagarin
// http://vec02.maps.yandex.net/tiles?l=map&v=2.26.0&x=586&y=327&z=10&lang=ru-RU
return string.Format(UrlFormat, UrlServer, GetServerNum(pos, 4) + 1, Version, pos.X, pos.Y, zoom);
}
static readonly string UrlServer = "vec";
static readonly string UrlFormat = "http://{0}0{1}.maps.yandex.ru/tiles?l=map&v={2}&x={3}&y={4}&z={5}";
}
}
|