protected override void DrawCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType)
        {
            if (overlayRefreshType == OverlayRefreshType.Pan)
            {
                if (PreviousExtent != null)
                {
                    double resolution    = MapArguments.CurrentResolution;
                    double worldOffsetX  = targetExtent.UpperLeftPoint.X - PreviousExtent.UpperLeftPoint.X;
                    double worldOffsetY  = targetExtent.UpperLeftPoint.Y - PreviousExtent.UpperLeftPoint.Y;
                    double screenOffsetX = worldOffsetX / resolution;
                    double screenOffsetY = worldOffsetY / resolution;

                    translateTransform.X -= screenOffsetX;
                    translateTransform.Y += screenOffsetY;
                }
            }
            else
            {
                translateTransform.X = 0;
                translateTransform.Y = 0;

                snappingPointsLayer.InternalFeatures.Clear();

                if (OverlayCanvas.Children.Count == 0)
                {
                    OverlayCanvas.Children.Add(tile);
                }

                tile.TargetExtent   = targetExtent;
                tile.Width          = MapArguments.ActualWidth;
                tile.Height         = MapArguments.ActualHeight;
                tile.ZoomLevelIndex = MapArguments.GetSnappedZoomLevelIndex(targetExtent);
                RedrawTile(tile);
            }
        }
Example #2
0
 protected override void DrawCore(RectangleShape targetExtent, OverlayRefreshType refreshType)
 {
     TileCache  = null;
     TileType   = TileType.SingleTile;
     TileBuffer = 0;
     base.DrawCore(targetExtent, refreshType);
 }
 protected override void DrawCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType)
 {
     LayerTile tile = GetTile(targetExtent, MapArguments.ActualWidth, MapArguments.ActualHeight, 0, 0, MapArguments.GetSnappedZoomLevelIndex(targetExtent));
     if (overlayRefreshType == OverlayRefreshType.Pan)
     {
         isPanningMap = true;
         PanOverlay(targetExtent);
     }
     else
     {
         isPanningMap = false;
         RefreshHighlightLayerTileAndPopup(targetExtent, tile);
     }
 }
        protected override void DrawCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType)
        {
            LayerTile tile = GetTile(targetExtent, MapArguments.ActualWidth, MapArguments.ActualHeight, 0, 0, MapArguments.GetSnappedZoomLevelIndex(targetExtent));

            if (overlayRefreshType == OverlayRefreshType.Pan)
            {
                isPanningMap = true;
                PanOverlay(targetExtent);
            }
            else
            {
                isPanningMap = false;
                RefreshHighlightLayerTileAndPopup(targetExtent, tile);
            }
        }
        protected override void DrawCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType)
        {
            base.DrawCore(targetExtent, overlayRefreshType);

            if (!OverlayCanvas.Children.Contains(highlightTile) && overlayRefreshType == OverlayRefreshType.Redraw)
            {
                OverlayCanvas.Children.Add(highlightTile);
            }

            bool zoomLevelChanged = CheckZoomLevelChanged(targetExtent);

            if (overlayRefreshType == OverlayRefreshType.Redraw && (!isTracking || Vertices.Count == 0 || zoomLevelChanged))
            {
                RefreshHighlightTile(targetExtent);
            }
        }