ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
using System; using System.Diagnostics; using System.IO; using System.Management; using System.Windows.Forms; public partial class Banner : UserControl { public Banner() { InitializeComponent(); SetupBannerAd(); } public void SetupBannerAd() { if (Process.GetCurrentProcess().ProcessName != "devenv") { adRotator.Url = new Uri(new DirectoryInfo(@"..\..\Resources\bannerad_offline.html").FullName); if (IsNetworkAlive()) { adsRotatorTimer.Start(); } } } private static bool IsNetworkAlive() { ObjectQuery objectQuery = new ObjectQuery("select * from Win32_NetworkAdapter where NetConnectionStatus=2"); ManagementObjectSearcher searcher = null; try { searcher = new ManagementObjectSearcher(objectQuery); return (searcher.Get().Count > 0); } finally { if (searcher != null) { searcher.Dispose(); } } } private void adsRotatorTimer_Tick(object sender, EventArgs e) { adRotator.Navigate("http://gis.thinkgeo.com/Default.aspx?tabid=640&random=" + Guid.NewGuid().ToString()); } }
using System; using System.Diagnostics; using System.Windows.Forms; using DisplayASimpleMap.Properties; public partial class Footer : UserControl { public Footer() { InitializeComponent(); } private void btnProductInformation_Click(object sender, EventArgs e) { Process.Start("http://gis.thinkgeo.com/Default.aspx?tabid=674"); } private void btnProductInformation_Activate(object sender, EventArgs e) { btnProductInformation.Image = Resources.btn_active_map_suite_products; } private void btnProductInformation_Deactivate(object sender, EventArgs e) { btnProductInformation.Image = Resources.btn_inactive_map_suite_products; } private void btnSupportCenter_Click(object sender, EventArgs e) { Process.Start("http://gis.thinkgeo.com/supportcenter"); } private void btnSupportCenter_Activate(object sender, EventArgs e) { btnSupportCenter.Image = Resources.btn_active_support_center; } private void btnSupportCenter_Deactivate(object sender, EventArgs e) { btnSupportCenter.Image = Resources.btn_inactive_support_center; } private void btnDiscussForum_Click(object sender, EventArgs e) { Process.Start("http://gis.thinkgeo.com/Support/DiscussionForums/tabid/143/afv/topicsview/aff/21/Default.aspx"); } private void btnDiscussForum_Activate(object sender, EventArgs e) { btnDiscussForum.Image = Resources.btn_active_discussion_forums; } private void btnDiscussForum_Deactivate(object sender, EventArgs e) { btnDiscussForum.Image = Resources.btn_inactive_discussion_forums; } private void btnWiki_Click(object sender, EventArgs e) { Process.Start("http://wiki.thinkgeo.com/wiki/Map_Suite_Desktop_Edition"); } private void btnWiki_Activate(object sender, EventArgs e) { btnWiki.Image = Resources.btn_active_thinkgeo_wiki; } private void btnWiki_Deactivate(object sender, EventArgs e) { btnWiki.Image = Resources.btn_inactive_thinkgeo_wiki; } private void btnContactUs_Click(object sender, EventArgs e) { Process.Start("http://gis.thinkgeo.com/Default.aspx?tabid=147"); } private void btnContactUs_Activate(object sender, EventArgs e) { btnContactUs.Image = Resources.btn_active_contact_us; } private void btnContactUs_Deactivate(object sender, EventArgs e) { btnContactUs.Image = Resources.btn_inactive_contact_us; } }
using System; using System.Windows.Forms; namespace SourceDisplayASimpleMap { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Sample()); } } }
using System; using System.Windows.Forms; using ThinkGeo.MapSuite.Core; using ThinkGeo.MapSuite.DesktopEdition; using System.Collections.ObjectModel; using System.IO; using System.Collections; using System.Collections.Generic; using System.Diagnostics; public partial class Sample : Form { Collection<Feature> editFeatures = new Collection<Feature>(); Collection<Feature> addFeatures = new Collection<Feature>(); Collection<Feature> deleteFeatures = new Collection<Feature>(); //original tab files. private const string fileName = @"..\..\Data\USA.TAB"; public Sample() { InitializeComponent(); } private void Sample_Load(object sender, EventArgs e) { winformsMap1.MapUnit = GeographyUnit.DecimalDegree; winformsMap1.AdornmentOverlay.ShowLogo = true; winformsMap1.BackgroundOverlay.BackgroundBrush = new GeoSolidBrush(GeoColor.GeographicColors.DeepOcean); //load the tab file and set the styles. TabFeatureLayer tabFeatureLayer = new TabFeatureLayer(fileName, TabFileReadWriteMode.ReadWrite); tabFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.CreateSimpleAreaStyle(GeoColor.StandardColors.White, GeoColor.FromArgb(100, GeoColor.SimpleColors.Green)); tabFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; tabFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.City1; tabFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.Canal1; tabFeatureLayer.RequireIndex = false; //create an InMemoryFeatureLayer to hold the selected feature. Style the layer so it appears to be highlighted. InMemoryFeatureLayer highLightFeatureLayer = new InMemoryFeatureLayer(); highLightFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.CreateSimpleAreaStyle(GeoColor.SimpleColors.PaleGreen, GeoColor.FromArgb(100, GeoColor.SimpleColors.Green)); highLightFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; highLightFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.City3; highLightFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.Interstate3; //Create our overlays, add our layers to the overlays, and add the overlays to the map. LayerOverlay staticOverlay = new LayerOverlay(); staticOverlay.Layers.Add("TabFeatureLayer", tabFeatureLayer); LayerOverlay highLightOverlay = new LayerOverlay(); highLightOverlay.Layers.Add("HighLightFeatureLayer", highLightFeatureLayer); winformsMap1.Overlays.Add("StaticOverlay", staticOverlay); winformsMap1.Overlays.Add("HighLightOverlay", highLightOverlay); //zoom the map to the extent of the TabFeatureLayer. tabFeatureLayer.Open(); winformsMap1.CurrentExtent = tabFeatureLayer.GetBoundingBox(); tabFeatureLayer.Close(); winformsMap1.Refresh(); } private void BtnClick_Handle(object sender, EventArgs e) { Button button = sender as Button; if (null != button) { switch (button.Name) { case "Mouse_Btn": winformsMap1.TrackOverlay.TrackMode = TrackMode.None; break; case "Point_Btn": winformsMap1.TrackOverlay.TrackMode = TrackMode.Point; break; case "Line_Btn": winformsMap1.TrackOverlay.TrackMode = TrackMode.Line; break; case "Rectangle_Btn": winformsMap1.TrackOverlay.TrackMode = TrackMode.Rectangle; break; case "Square_Btn": winformsMap1.TrackOverlay.TrackMode = TrackMode.Square; break; case "Polygon_Btn": winformsMap1.TrackOverlay.TrackMode = TrackMode.Polygon; break; case "Circle_Btn": winformsMap1.TrackOverlay.TrackMode = TrackMode.Circle; break; case "Ellipse_Btn": winformsMap1.TrackOverlay.TrackMode = TrackMode.Ellipse; break; case "Edit_Btn": { //add the selected feature into the EditOverlay and clear it from the highlightLayer. InMemoryFeatureLayer highlightLayer = (InMemoryFeatureLayer)winformsMap1.FindFeatureLayer("HighLightFeatureLayer"); FeatureLayer tabFeatureLayer = winformsMap1.FindFeatureLayer("TabFeatureLayer"); foreach (Feature feature in highlightLayer.InternalFeatures) { winformsMap1.EditOverlay.EditShapesLayer.InternalFeatures.Add(feature); tabFeatureLayer.FeatureIdsToExclude.Add(feature.Id); } winformsMap1.EditOverlay.CalculateAllControlPoints(); highlightLayer.InternalFeatures.Clear(); winformsMap1.Refresh(); } break; case "Delete_Btn": { //delete the selected features from the TabFileLayer. InMemoryFeatureLayer highlightLayer = winformsMap1.FindFeatureLayer("HighLightFeatureLayer") as InMemoryFeatureLayer; highlightLayer.Open(); Collection<Feature> deleteFeatures = highlightLayer.FeatureSource.GetAllFeatures(ReturningColumnsType.NoColumns); FeatureLayer tabFeatureLayer = winformsMap1.FindFeatureLayer("TabFeatureLayer"); tabFeatureLayer.Open(); tabFeatureLayer.EditTools.BeginTransaction(); if (deleteFeatures.Count > 0) { foreach (Feature deleteFeature in deleteFeatures) { tabFeatureLayer.EditTools.Delete(deleteFeature.Id); } } tabFeatureLayer.EditTools.CommitTransaction(); highlightLayer.InternalFeatures.Clear(); tabFeatureLayer.Close(); highlightLayer.Close(); winformsMap1.Refresh(); } break; default: winformsMap1.TrackOverlay.TrackMode = TrackMode.None; break; } } } private void Save_Btn_Click(object sender, EventArgs e) { //query the EditOverlay for edited features and query the TrackOverlay for new features. Collection<Feature> editFeatures = winformsMap1.EditOverlay.EditShapesLayer.InternalFeatures; Collection<Feature> newFeatures = winformsMap1.TrackOverlay.TrackShapeLayer.InternalFeatures; FeatureLayer tabFeatureLayer = winformsMap1.FindFeatureLayer("TabFeatureLayer"); tabFeatureLayer.FeatureIdsToExclude.Clear(); tabFeatureLayer.Open(); tabFeatureLayer.EditTools.BeginTransaction(); //update all features that were in the EditOverlay. if (editFeatures.Count > 0) { foreach (Feature editFeature in editFeatures) { tabFeatureLayer.EditTools.Update(editFeature); } } //create all features that were in the TrackOverlayl. if (newFeatures.Count > 0) { foreach (Feature newFeature in newFeatures) { tabFeatureLayer.EditTools.Add(newFeature); } } tabFeatureLayer.EditTools.CommitTransaction(); tabFeatureLayer.Close(); //set the map back to normal mode. Clear all features from the EditOverlay and TrackOverlay. winformsMap1.TrackOverlay.TrackMode = TrackMode.None; winformsMap1.EditOverlay.EditShapesLayer.InternalFeatures.Clear(); winformsMap1.TrackOverlay.TrackShapeLayer.InternalFeatures.Clear(); winformsMap1.Refresh(); } private void winformsMap1_MapClick(object sender, MapClickWinformsMapEventArgs e) { if (winformsMap1.TrackOverlay.TrackMode == TrackMode.None) { FeatureLayer tabFeatureLayer = winformsMap1.FindFeatureLayer("TabFeatureLayer"); if (null != tabFeatureLayer) { //Open the TabFeatureLayer and do a spatial query to get the features that contained the point you clicked. tabFeatureLayer.Open(); Collection<Feature> selectedFeatures = tabFeatureLayer.QueryTools.GetFeaturesContaining(e.WorldLocation, ReturningColumnsType.NoColumns); tabFeatureLayer.Close(); InMemoryFeatureLayer highlightLayer = (InMemoryFeatureLayer)winformsMap1.FindFeatureLayer("HighLightFeatureLayer"); highlightLayer.InternalFeatures.Clear(); //insert each selected feature into the highlightLayer. foreach (Feature selectedFeature in selectedFeatures) { highlightLayer.InternalFeatures.Add(selectedFeature); } winformsMap1.Refresh(winformsMap1.Overlays["HighLightOverlay"]); } } } }