public virtual void ApplySizeTheme(IDataSizeTheme theme) { if (LayerData.GeoType == "1") { for (int i = 0; i < Features.Count; i++) { var feature = LayerData.Features[i]; var shape = Features[feature]; double size = MapControl.Current.GetMagFactor(MapControl.Current.InitialScale) * theme.GetSize(feature); ElementPositionHelper.CenterElementInCanvas(shape, size, size); } } else if (LayerData.GeoType == "2") { // done: 流量图 for (int i = 0; i < Features.Count; i++) { var feature = LayerData.Features[i]; var shape = Features[feature]; double size = theme.GetSize(feature); (shape as Polyline).StrokeThickness = size; } } _hasSizeTheme = true; _sizeTheme = theme; }
public override void ApplySizeTheme(IDataSizeTheme theme) { if (LayerData.GeoType == "1") { for (int i = 0; i < Features.Count; i++) { var feature = LayerData.Features[i]; var drawing = Features[feature]; var geometry = drawing.Geometry as EllipseGeometry; if (geometry != null) { double radius = MapControl.Current.GetMagFactor(MapControl.Current.InitialScale) * theme.GetSize(feature) / 2; geometry.RadiusX = radius; geometry.RadiusY = radius; } } } else if (LayerData.GeoType == "2") { // done: 流量图 for (int i = 0; i < Features.Count; i++) { var feature = LayerData.Features[i]; var drawing = Features[feature]; double weight = MapControl.Current.GetMagFactor(MapControl.Current.InitialScale) * theme.GetSize(feature); drawing.Pen.Thickness = weight; } } _hasSizeTheme = true; }