public MapFilterView() { _map = new C1Map(); _map.UseAntiAliasedGraphics = true; _map.Dock = DockStyle.Fill; _map.TileLayer.TileSource = new VirtualEarthRoadSource(); _map.ZoomTool.Visible = false; _map.PanTool.Visible = false; _map.Viewport.Zoom = 2.15; _map.AllowZooming = false; _map.Viewport.Center = new C1.Win.Interop.Point(-80.8, 39.8); _map.MouseClick += Map_MouseClick; _layer = new C1.Win.Map.VectorLayer { LabelVisibility = LabelVisibility.AutoHide }; _layer.Style.BackColor = Color.FromArgb(0x80, Color.Green); _layer.Style.Stroke.Color = Color.FromArgb(0x80, Color.White); _layer.Style.Stroke.Width = 1; _map.Layers.Add(_layer); _selectedLayer = new C1.Win.Map.VectorLayer { LabelVisibility = LabelVisibility.AutoHide }; _selectedLayer.LabelStyle.ForeColor = Color.FromArgb(0xC0, 0x50, 0x4d); _selectedLayer.Style.BackColor = Color.FromArgb(0x80, Color.Gold); _selectedLayer.Style.Stroke.Color = Color.FromArgb(0x80, Color.White); _selectedLayer.Style.Stroke.Width = 1; _map.Layers.Add(_selectedLayer); Controls.Add(_map); }
private void RouteControl_Load(object sender, EventArgs e) { // Init map. _mapControl = new MapUserControl(new VirtualEarthHybridSource()) { Dock = DockStyle.Fill }; panel1.Controls.Add(_mapControl); _map = _mapControl.Map; _map.Viewport.Zoom = 1; // Create layers. _cityLayer = new C1.Win.Map.VectorLayer(); _cityLayer.LabelVisibility = LabelVisibility.Visible; _map.Layers.Add(_cityLayer); _routeLayer = new C1.Win.Map.VectorLayer(); _routeLayer.Style.Stroke.Width = 2; _routeLayer.Style.Stroke.Color = Color.Red; _routeLayer.Opacity = 0.6; _map.Layers.Add(_routeLayer); // Create routes. CreateRoutes(); }
private void Overview_Load(object sender, EventArgs e) { if (!DesignMode) { var sources = new List <SourceMaps.ITileSource>() { new VirtualEarthAerialSource(), new VirtualEarthRoadSource(), new VirtualEarthHybridSource(), // Custom map new OpenStreetTileSource() }; // Create maps var maps = sources.Select(x => new MapUserControl(x)); // For each map create the layer maps .ToList() .ForEach(x => { //x.Map.Viewport.Zoom = 5; var _layer = new C1.Win.Map.VectorLayer(); x.Map.Layers.Add(_layer); }); _panel.Controls.AddRange(maps.ToArray()); SetSizeMaps(); } }
private C1.Win.Map.VectorItem FindShop(C1.Win.Interop.Point point, C1.Win.Map.VectorLayer layer) { foreach (C1.Win.Map.VectorPlacemark mark in layer.Items) { var p = mark.Geometry.Center; if (Math.Abs(p.X - point.X) < 1 && Math.Abs(p.Y - point.Y) < 1) { return(mark); } } return(null); }
private void MarkControl_Load(object sender, EventArgs e) { if (!DesignMode) { // Init map _mapControl = new MapUserControl(new VirtualEarthAerialSource()); _mapControl.Map.Viewport.Zoom = 1; _mapControl.Dock = DockStyle.Fill; // Create layer _layer = new C1.Win.Map.VectorLayer(); _mapControl.Map.Layers.Add(_layer); _panel.Controls.Add(_mapControl); // Init table _table.Clear(); var columns = new List <KeyValuePair <string, string> >() { new KeyValuePair <string, string>("Number", "№"), new KeyValuePair <string, string>("longitude", "Longitude"), new KeyValuePair <string, string>("latitude", "Latitude") }; _table.Columns.AddRange( columns.Select(x => new DataColumn() { ColumnName = x.Key }).ToArray() ); _grid.Columns.AddRange( columns.Select(x => new DataGridViewTextBoxColumn() { HeaderText = x.Value, Width = x.Key == "Number" ? 30 : 70, DataPropertyName = x.Key }).ToArray() ); _grid.DataSource = _table; // Create marks CreateMarks(); } }
protected override void InitMap() { base.InitMap(); c1Map1.Viewport.Zoom = 1; var layer = new C1.Win.Map.VectorLayer { LabelVisibility = LabelVisibility.AutoHide }; layer.LabelStyle.ForeColor = Color.FromArgb(0xC0, 0x50, 0x4d); layer.Style.BackColor = Color.FromArgb(0x80, Color.Gold); layer.Style.Stroke.Color = Color.FromArgb(0x80, Color.White); layer.Style.Stroke.Width = 1; c1Map1.Layers.Add(layer); using (var stream = MapReader.OpenFile("Resources\\Cities100K.txt")) { var cities = City.Read(stream); var top500 = cities.OrderByDescending(city => city.Population).Take(500); foreach (var city in top500) { var mark = new C1.Win.Map.VectorPlacemark { Geometry = new GeoPoint(city.Location.X, city.Location.Y), Lod = GetLod(city), Tag = city.Name + ":\r\n" + city.Population, Marker = { Size = GetSize(city), Shape = MarkerShape.Circle, Caption = city.Name, LabelPosition = LabelPosition.Right } }; layer.Items.Add(mark); } } }
private void CreateGrids() { var layer = new VectorLayer { LabelVisibility = LabelVisibility.Visible, Track = false }; c1Map1.Layers.Add(layer); layer.LabelStyle.ForeColor = Color.DarkGray; layer.Style.Stroke.Color = Color.DarkGray; layer.Style.Stroke.Style = DashStyle.Dash; layer.Style.Stroke.Width = 1; for (int lon = -180; lon <= 180; lon += 30) { var points = new List <GeoPoint>(); for (int lat = -85; lat <= 85; lat++) { points.Add(new GeoPoint(lon, lat)); } var pl = new VectorPolyline { Geometry = new GeoLineString(points) }; layer.Items.Add(pl); var lbl = Math.Abs(lon) + "°"; if (lon > 0) { lbl += "E"; } else if (lon < 0) { lbl += "W"; } var pm = new VectorPlacemark { Geometry = new GeoPoint(lon, 0), Marker = { Caption = lbl, LabelPosition = LabelPosition.Top } }; layer.Items.Add(pm); } for (int lat = -80; lat <= 80; lat += 20) { var points = new List <GeoPoint>(); for (int lon = -180; lon <= 180; lon++) { points.Add(new GeoPoint(lon, lat)); } var pl = new VectorPolyline { Geometry = new GeoLineString(points) }; layer.Items.Add(pl); var lbl = Math.Abs(lat) + "°"; if (lat > 0) { lbl += "N"; } else if (lat < 0) { lbl += "S"; } var pm = new VectorPlacemark { Geometry = new GeoPoint(0, lat), Marker = { Caption = lbl, LabelPosition = LabelPosition.Right } }; layer.Items.Add(pm); } }
private void Analysis_Load(object sender, EventArgs e) { dfOlap.AutoApply = true; dfOlap.AutoGenerateFilters = false; dfOlap.FilterChanged += DfOlap_FilterChanged; dfMap = new C1DataFilter(); dfMap.AutoApply = true; dfMap.AutoGenerateFilters = false; dfMap.FilterChanged += DfMap_FilterChanged; var dashboardLayout = new C1DashboardLayout(); _vectorLayer = new C1.Win.Map.VectorLayer() { LabelVisibility = LabelVisibility.Visible }; _vectorLayer.LabelStyle.Font = new Font(Font.FontFamily, 7); Map.TileLayer.TileSource = new VirtualEarthRoadSource(); Map.Layers.Add(_vectorLayer); var engine = OlapPanel.FlexPivotEngine; engine.DataSource = DataService.GetService().ProductWiseSaleCollection; InitOlap(engine); var selector = new ValRangeSelector() { Dock = DockStyle.Bottom }; ChecklistFilter fCategories = new ChecklistFilter("Category", true); fCategories.HeaderText = Strings.Resource.DataFilter_Categories; fCategories.ItemsSource = DataService.GetService().ProductWiseSaleCollection; fCategories.ValueMemberPath = "Category"; fCategories.SelectAll(); dfOlap.Filters.Add(fCategories); dfMap.Filters.Add(fCategories); ChecklistFilter fModels = new ChecklistFilter("Product", true); fModels.HeaderText = Strings.Resource.DataFilter_Products; fModels.ItemsSource = fCategories.ItemsSource; fModels.ValueMemberPath = "Product"; fModels.SelectAll(); dfOlap.Filters.Add(fModels); dfMap.Filters.Add(fModels); RangeFilter fSales = new RangeFilter("Sales", true); fSales.HeaderText = Strings.Resource.DataFilter_Sales; var list = from prod in DataService.GetService().ProductWiseSaleCollection.Cast <ProductsWiseSaleItem>() select prod.Sales; fSales.Maximum = list.Max(); fSales.Minimum = list.Min(); dfOlap.Filters.Add(fSales); dfMap.Filters.Add(fSales); selector.DateRangeChanged += (s, ev) => { dfOlap.DataSource = DataService.GetService().ProductWiseSaleCollection; dfMap.DataSource = DataService.GetService().GetRegionWiseSalesWithCategory(); DataService.GetService().GetRegionWiseSaleCollection = () => dfMap.View.ToList(); DataService.GetService().DateRange = ev.NewValue; UpdataMapMark(); chartOpportunities.DataSource = DataService.GetService().OpportunityItemList; chartOpportunities.Series.Clear(); var series = new Series(); series.Binding = series.Name = "Sales"; chartOpportunities.Series.Add(series); chartOpportunities.BindingX = "Level"; chartOpportunities.DataLabel.Position = C1.Chart.LabelPosition.Center; chartOpportunities.DataLabel.Content = "{}{y:C0}"; chartOpportunities.ChartType = C1.Chart.ChartType.Funnel; }; Controls.Add(selector); dashboardLayout.Options.ToolIconAppearance = ToolIconAppearance.UpperRight; dashboardLayout.AttachToLayout(new SplitLayout(c1SplitContainerMain)); IconBox settings = new IconBox() { BackgroundImage = Properties.Resources.settings_work_tool }; settings.Click += (s, ev) => { OlapPanel.Location = PointToClient(settings.PointToScreen(new Point(-2, settings.Height + 2))); if (OlapPanel.Right > Right) { OlapPanel.Left = Right - OlapPanel.Width - 2; } OlapPanel.Parent = this; OlapPanel.Visible = true; OlapPanel.BringToFront(); }; OlapPanel.MouseLeave += (s, ev) => OlapPanel.Visible = false; IconBox dataFilter = new IconBox() { BackgroundImage = Properties.Resources.C1DataFilter }; dataFilter.Click += (s, ev) => { dfOlap.Location = PointToClient(dataFilter.PointToScreen(new Point(-2, dataFilter.Height + 2))); if (dfOlap.Right > Right) { dfOlap.Left = Right - dfOlap.Width - 2; } dfOlap.Parent = this; dfOlap.Visible = true; dfOlap.BringToFront(); }; settings.VisibleChanged += (s, ev) => { settings.Visible = dashboardLayout.GetSelectedItem()?.ItemContainer == c1SplitterPanelGrid; dataFilter.Visible = settings.Visible; }; dfOlap.MouseLeave += (s, ev) => dfOlap.Visible = false; OlapGrid.Resize += (s1, ev1) => { OlapPanel.Visible = false; dfOlap.Visible = false; }; dashboardLayout.ItemContainerSelected += (s, ev) => { settings.Visible = dashboardLayout.GetSelectedItem()?.ItemContainer == c1SplitterPanelGrid; dataFilter.Visible = settings.Visible; }; dashboardLayout.Options.HeaderElements.Add(dataFilter); dashboardLayout.Options.HeaderElements.Add(settings); dashboardLayout.SetCaption(c1SplitterPanelGrid, Strings.Resource.ProductWise_Header); dashboardLayout.SetCaption(c1SplitterPanel3, Strings.Resource.RegionWise_Header); dashboardLayout.SetCaption(c1SplitterPanel4, Strings.Resource.Opportunities_Header); this.c1SplitterPanelGrid.Width = 565; selector.SendToBack(); ScanControls(this); }
protected override void InitMap() { base.InitMap(); c1Map1.Viewport.Zoom = 1; var layer = new VectorLayer { LabelVisibility = LabelVisibility.Visible, Track = false }; c1Map1.Layers.Add(layer); layer.LabelStyle.ForeColor = Color.DarkGray; layer.Style.Stroke.Color = Color.DarkGray; layer.Style.Stroke.Style = DashStyle.Dash; layer.Style.Stroke.Width = 1; for (int lon = -180; lon <= 180; lon += 30) { var pl = new VectorPolyline { Geometry = new GeoLineString(new[] { new GeoPoint(lon, -85), new GeoPoint(lon, 85) }) }; layer.Items.Add(pl); var lbl = Math.Abs(lon) + "°"; if (lon > 0) { lbl += "E"; } else if (lon < 0) { lbl += "W"; } var pm = new VectorPlacemark { Geometry = new GeoPoint(lon, 0), Marker = { Caption = lbl, LabelPosition = LabelPosition.Top } }; layer.Items.Add(pm); } for (int lat = -80; lat <= 80; lat += 20) { var pl = new VectorPolyline { Geometry = new GeoLineString(new[] { new GeoPoint(-180, lat), new GeoPoint(180, lat) }) }; layer.Items.Add(pl); var lbl = Math.Abs(lat) + "°"; if (lat > 0) { lbl += "N"; } else if (lat < 0) { lbl += "S"; } var pm = new VectorPlacemark { Geometry = new GeoPoint(0, lat), Marker = { Caption = lbl, LabelPosition = LabelPosition.Right } }; layer.Items.Add(pm); } }
protected override void InitMap() { base.InitMap(); c1Map1.Viewport.Zoom = 1; using (var stream = MapReader.OpenFile("Resources\\database.xml")) { var serializer = new XmlSerializer(typeof(DataBase)); _factories = (DataBase)serializer.Deserialize(stream); } var layerFactory = new VectorLayer(); var factoryShape = new MarkerImageShape { Image = Image.FromFile("Resources\\factory.png") }; var factoryMarker = new Marker { Size = new SizeF(60, 60), Shape = MarkerShape.Custom, CustomShape = factoryShape }; foreach (var factory in _factories.Factories) { var item = new C1.Win.Map.VectorPlacemark { Geometry = new GeoPoint(factory.Longitude, factory.Latitude), Marker = factoryMarker, Tag = factory.Name }; layerFactory.Items.Add(item); } c1Map1.Layers.Add(layerFactory); var layerOffice = new VectorLayer(); foreach (var office in _factories.Offices) { var item = new C1.Win.Map.VectorPlacemark { Geometry = new GeoPoint(office.Longitude, office.Latitude), Tag = office.Name }; var officeMarker = new Marker { Size = new SizeF(60, 60), Shape = MarkerShape.Custom, CustomShape = new OfficeShape(office) }; item.Marker = officeMarker; item.Style.Font = new Font("Arial", 9f); layerOffice.Items.Add(item); } c1Map1.Layers.Add(layerOffice); var layerStore = new VirtualLayer(); layerStore.Slices.Add(new MapSlice(0, 1, 1)); var storeSlices = (int)Math.Pow(2, LocalStoreSource.MinStoreZoom); layerStore.Slices.Add(new MapSlice(LocalStoreSource.MinStoreZoom, storeSlices, storeSlices)); layerStore.ItemsSource = new LocalStoreSource(_factories); c1Map1.Layers.Add(layerStore); }