Mapsui.Rendering.Xaml.PointRenderer.PositionPoint C# (CSharp) Method

PositionPoint() public static method

public static PositionPoint ( UIElement renderedGeometry, Mapsui.Geometries.Point point, IStyle style, IViewport viewport ) : void
renderedGeometry System.Windows.UIElement
point Mapsui.Geometries.Point
style IStyle
viewport IViewport
return void
        public static void PositionPoint(UIElement renderedGeometry, Point point, IStyle style, IViewport viewport)
        {
            var matrix = XamlMedia.Matrix.Identity;
            if (style is SymbolStyle) matrix = CreatePointSymbolMatrix(viewport.Resolution, style as SymbolStyle);
            else MatrixHelper.ScaleAt(ref matrix, viewport.Resolution, viewport.Resolution);
            MatrixHelper.Append(ref matrix, GeometryRenderer.CreateTransformMatrix(point, viewport));
            renderedGeometry.RenderTransform = new XamlMedia.MatrixTransform { Matrix = matrix };
        }

Usage Example

Example #1
0
 private static void PositionGeometry(Shape renderedGeometry, IViewport viewport, IStyle style, IFeature feature)
 {
     if (feature.Geometry is Geometries.Point)
     {
         PointRenderer.PositionPoint(renderedGeometry, feature.Geometry as Geometries.Point, style, viewport);
     }
     else if (feature.Geometry is MultiPoint)
     {
         GeometryRenderer.PositionGeometry(renderedGeometry, viewport);
     }
     else if (feature.Geometry is LineString)
     {
         GeometryRenderer.PositionGeometry(renderedGeometry, viewport);
     }
     else if (feature.Geometry is MultiLineString)
     {
         GeometryRenderer.PositionGeometry(renderedGeometry, viewport);
     }
     else if (feature.Geometry is Polygon)
     {
         GeometryRenderer.PositionGeometry(renderedGeometry, viewport);
     }
     else if (feature.Geometry is MultiPolygon)
     {
         GeometryRenderer.PositionGeometry(renderedGeometry, viewport);
     }
     else if (feature.Geometry is IRaster)
     {
         GeometryRenderer.PositionRaster(renderedGeometry, feature.Geometry.GetBoundingBox(), viewport);
     }
 }