コード例 #1
0
        void OnProxyGetAreaFromPtCompleted(object sender, GetAreaFromPtCompletedEventArgs args)
        {
            if (args.Error != null)
            {
                statusText.Text = args.Error.Message;
                return;
            }

            statusText.Text = "Getting map tiles...";

            AreaBoundingBox box  = args.Result;
            int             xBeg = box.NorthWest.TileMeta.Id.X;
            int             yBeg = box.NorthWest.TileMeta.Id.Y;
            int             xEnd = box.NorthEast.TileMeta.Id.X;
            int             yEnd = box.SouthWest.TileMeta.Id.Y;

            // Loop through the tiles
            for (int x = xBeg; x <= xEnd; x++)
            {
                for (int y = yBeg; y >= yEnd; y--)
                {
                    // Create Image object to display tile
                    Image img = new Image();
                    img.Stretch             = Stretch.None;
                    img.HorizontalAlignment = HorizontalAlignment.Left;
                    img.VerticalAlignment   = VerticalAlignment.Top;
                    img.Margin = new Thickness((x - xBeg) * 200 - box.NorthWest.Offset.XOffset,
                                               (yBeg - y) * 200 - box.NorthWest.Offset.YOffset,
                                               0, 0);

                    // Insert after TextBlock but before Image with logo
                    ContentPanel.Children.Insert(1, img);

                    // Define the tile ID
                    TileId tileId = box.NorthWest.TileMeta.Id;
                    tileId.X = x;
                    tileId.Y = y;

                    // Call proxy to get the tile (Notice that Image is user object)
                    proxy.GetTileAsync(tileId, img);
                }
            }
        }
コード例 #2
0
ファイル: MainPage.xaml.cs プロジェクト: uhealin/asskicker
        void OnProxyGetAreaFromPtCompleted(object sender, GetAreaFromPtCompletedEventArgs args)
        {
            if (args.Error != null)
            {
                statusText.Text = args.Error.Message;
                return;
            }

            statusText.Text = "Getting map tiles...";

            AreaBoundingBox box = args.Result;
            int xBeg = box.NorthWest.TileMeta.Id.X;
            int yBeg = box.NorthWest.TileMeta.Id.Y;
            int xEnd = box.NorthEast.TileMeta.Id.X;
            int yEnd = box.SouthWest.TileMeta.Id.Y;

            // Loop through the tiles
            for (int x = xBeg; x <= xEnd; x++)
                for (int y = yBeg; y >= yEnd; y--)
                {
                    // Create Image object to display tile
                    Image img = new Image();
                    img.Stretch = Stretch.None;
                    img.HorizontalAlignment = HorizontalAlignment.Left;
                    img.VerticalAlignment = VerticalAlignment.Top;
                    img.Margin = new Thickness((x - xBeg) * 200 - box.NorthWest.Offset.XOffset,
                                               (yBeg - y) * 200 - box.NorthWest.Offset.YOffset,
                                               0, 0);

                    // Insert after TextBlock but before Image with logo
                    ContentPanel.Children.Insert(1, img);

                    // Define the tile ID
                    TileId tileId = box.NorthWest.TileMeta.Id;
                    tileId.X = x;
                    tileId.Y = y;

                    // Call proxy to get the tile (Notice that Image is user object)
                    proxy.GetTileAsync(tileId, img);
                }
        }