public MapChangedArgs(FtMap map, bool zoomToFit = false)
 {
     Map       = map;
     ZoomToFit = zoomToFit;
 }
        public FtPuntualVectorLayer(FtMap ftMap, FtTransmitterDataset dataset)
        {
            _ftMap = ftMap;

            IProvider dataSource = null;
            var       symbolizer = dataset.Visulization.Symbolizer;

            var pointSymbolizer = symbolizer as IPointSymbolizer;

            if (pointSymbolizer != null)
            {
                dataSource      = dataset.GPSData.AsDataTablePoint();
                SymbolizerLayer = new VectorLayer(dataset.TagId.ToString(), dataSource)
                {
                    Style = { PointSymbolizer = pointSymbolizer }
                };

                pointSymbolizer.Size = new Size(Properties.Settings.Default.VisualizerMarkersize,
                                                Properties.Settings.Default.VisualizerMarkersize);
            }

            var lineSymbolizer = symbolizer as FtBasicLineSymbolizer;

            if (lineSymbolizer != null)
            {
                dataSource      = dataset.GPSData.AsDataTableLine();
                SymbolizerLayer = new VectorLayer(dataset.TagId.ToString(), dataSource)
                {
                    Style = { LineSymbolizer = lineSymbolizer }
                };

                lineSymbolizer.Size = new Size(Properties.Settings.Default.VisualizerMarkersize,
                                               Properties.Settings.Default.VisualizerMarkersize);
            }

            SymbolizerLayer.SmoothingMode = SmoothingMode.HighQuality;
            symbolizer.SmoothingMode      = SmoothingMode.HighQuality;

            if (dataSource?.GetFeatureCount() > 500)
            {
                SymbolizerLayer.SmoothingMode = SmoothingMode.HighSpeed;
                symbolizer.SmoothingMode      = SmoothingMode.HighSpeed;
            }

            if ((symbolizer as IFtBaseSymbolizer).Labeled)
            {
                LabelLayer = new LabelLayer($"Label{dataset.TagId}")
                {
                    DataSource            = dataset.GPSData.AsDataTablePoint(),
                    LabelColumn           = "num",
                    LabelPositionDelegate = LabelPositionDelegate,
                    SmoothingMode         = SmoothingMode.HighSpeed,
                    Style = { Font = MapFont, VerticalAlignment = LabelStyle.VerticalAlignmentEnum.Top, HorizontalAlignment = LabelStyle.HorizontalAlignmentEnum.Left, CollisionDetection = false, ForeColor = dataset.Visulization.Color }
                };
            }
            if (LabelLayer != null)
            {
                this.Add(LabelLayer);
            }
            this.Add(SymbolizerLayer);
        }