コード例 #1
0
ファイル: BingHelper.cs プロジェクト: Nangal/http2-katana
        private IEnumerable<Tile> GetTiles(double lat, double lon, int level, int w, int h)
        {
            int originalPixelx;
            int originalPixely;

            TileSystem.LatLongToPixelXy(lat, lon, level, out originalPixelx, out originalPixely);

            var originalTile = new Tile(lat, lon, originalPixelx, originalPixely, level);

            var tiles = new List<Tile>(8);
            const int width = TileSystem.TileWidth;
            const int height = TileSystem.TileWidth;
            int tilesOnTop = h / 2;
            int tilesOnLeft = w / 2;

            var topLeftTile = GetTileFromPixels(originalTile.XStartPixel - tilesOnTop * width,
                                                originalTile.YStartPixel - tilesOnLeft * height,
                                                level);
         
            for (byte i = 0; i < w; i++)
            {
                for (byte j = 0; j < h; j++)
                {
                    var nextTile = GetTileFromPixels(topLeftTile.XStartPixel + i * width, 
                                                     topLeftTile.YStartPixel + j * height, 
                                                     level);
                    tiles.Add(nextTile);
                }
            }

            return tiles.Where(t => t.Latitude > TileSystem.MinLatitude
                                    && t.Latitude < TileSystem.MaxLatitude
                                    && t.Longitude > TileSystem.MinLongitude
                                    && t.Longitude < TileSystem.MaxLongitude);
        }
コード例 #2
0
ファイル: BingHelper.cs プロジェクト: Nangal/http2-katana
        private string GetSoapUrl(Tile tile)
        {
            var tileQuad = TileSystem.LatLongToQuadKey(tile.Latitude, tile.Longitude, tile.Level);
            int origQuad = int.Parse(tileQuad);

            return String.Format("http://ak.dynamic.t{0}.tiles.virtualearth.net/comp/ch/{1}?mkt=ru-ru&it=G,VE,BX,L,LA&shading=hill&og=33&n=z",
                                origQuad % 10, origQuad);
        }