private void AddEarthquakeLayers(Map Map1) { LayerOverlay earthquakeOverlay = new LayerOverlay("EarthquakeOverlay"); //earthquakeOverlay.TileType = TileType.SingleTile; earthquakeOverlay.IsVisibleInOverlaySwitcher = false; Map1.CustomOverlays.Add(earthquakeOverlay); Proj4Projection proj4 = new Proj4Projection(); proj4.InternalProjectionParametersString = Proj4Projection.GetDecimalDegreesParametersString(); proj4.ExternalProjectionParametersString = Proj4Projection.GetSphericalMercatorParametersString(); string dataShapefileFilePath = Server.MapPath(ConfigurationManager.AppSettings["statesPathFileName"]); EarthquakeHeatFeatureLayer heatLayer = new EarthquakeHeatFeatureLayer(new ShapeFileFeatureSource(dataShapefileFilePath)); heatLayer.HeatStyle = new HeatStyle(10, 180, "MAGNITUDE", 0, 12, 100, DistanceUnit.Kilometer); heatLayer.FeatureSource.Projection = proj4; earthquakeOverlay.Layers.Add("Heat Map", heatLayer); ShapeFileFeatureLayer pointLayer = new ShapeFileFeatureLayer(dataShapefileFilePath); pointLayer.FeatureSource.Projection = proj4; pointLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.CreateSimpleCircleStyle(GeoColor.StandardColors.Red, 6, GeoColor.StandardColors.White, 1); pointLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; pointLayer.IsVisible = false; earthquakeOverlay.Layers.Add("Regular Point Map", pointLayer); EarthquakeIsoLineFeatureLayer isoLineLayer = new EarthquakeIsoLineFeatureLayer(new ShapeFileFeatureSource(dataShapefileFilePath)); isoLineLayer.FeatureSource.Projection = proj4; isoLineLayer.IsVisible = false; earthquakeOverlay.Layers.Add("IsoLines Map", isoLineLayer); }
private void AddAdormentLayers(Map Map1) { // ScaleBar ScaleBarAdornmentLayer scaleBarAdormentLayer = new ScaleBarAdornmentLayer(); scaleBarAdormentLayer.XOffsetInPixel = 10; scaleBarAdormentLayer.XOffsetInPixel = 5; scaleBarAdormentLayer.UnitFamily = UnitSystem.Metric; Map1.AdornmentOverlay.Layers.Add("ScaleBarAdormentLayer", scaleBarAdormentLayer); // Isoline legend adorment layer LegendAdornmentLayer isoLevelLegendLayer = new LegendAdornmentLayer(); isoLevelLegendLayer.IsVisible = false; isoLevelLegendLayer.Width = 85; isoLevelLegendLayer.Height = 320; isoLevelLegendLayer.Location = AdornmentLocation.LowerRight; isoLevelLegendLayer.ContentResizeMode = LegendContentResizeMode.Fixed; LegendItem legendTitle = new LegendItem(); legendTitle.TextStyle = new TextStyle("Magnitude", new GeoFont("Arial", 10), new GeoSolidBrush(GeoColor.StandardColors.Black)); legendTitle.TextLeftPadding = -20; isoLevelLegendLayer.LegendItems.Add(legendTitle); // add legend title // Legend items LayerOverlay earthquakeOverlay = Map1.CustomOverlays["EarthquakeOverlay"] as LayerOverlay; EarthquakeIsoLineFeatureLayer isolineLayer = earthquakeOverlay.Layers["IsoLines Map"] as EarthquakeIsoLineFeatureLayer; for (int i = 0; i < isolineLayer.IsoLineLevels.Count; i++) { LegendItem legendItem = new LegendItem(); legendItem.TextStyle = new TextStyle(isolineLayer.IsoLineLevels[i].ToString("f2"), new GeoFont("Arial", 10), new GeoSolidBrush(GeoColor.StandardColors.Black)); legendItem.ImageStyle = isolineLayer.LevelClassBreakStyle.ClassBreaks[i].DefaultAreaStyle; legendItem.ImageWidth = 25; isoLevelLegendLayer.LegendItems.Add(legendItem); } Map1.AdornmentOverlay.Layers.Add("IsoLineLevelLegendLayer", isoLevelLegendLayer); }