====== Source Code ServicesEditionSample CodeGeneratorSample CS 111213.zip ======
====Banner.cs====
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());
}
}
====Footer.cs====
using System;
using System.Diagnostics;
using System.Windows.Forms;
using CodeGeneratorSample.Properties;
public partial class Footer : UserControl
{
public Footer()
{
InitializeComponent();
}
private void btnProductInformation_Click(object sender, EventArgs e)
{
Process.Start("http://gis.thinkgeo.com/Products/GISComponentsforNETDevelopers/MapSuiteServicesEdition/tabid/628/Default.aspx");
}
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/11/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_Services_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;
}
}
====Program.cs====
using System;
using System.Windows.Forms;
static class Program
{
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Sample());
}
}
====Sample.cs====
using System;
using System.Drawing;
using System.Windows.Forms;
using ThinkGeo.MapSuite.Core;
public partial class Sample : Form
{
private MapEngine mapEngine;
private Bitmap bitmap;
private RectangleShape boundingBox;
public Sample()
{
InitializeComponent();
}
private void GenerateCodeForLayer_Load(object sender, EventArgs e)
{
bitmap = new Bitmap(map.Width, map.Height);
mapEngine = new MapEngine();
mapEngine.ShowLogo = true;
mapEngine.BackgroundFillBrush = new GeoSolidBrush(GeoColor.GeographicColors.ShallowOcean);
ShapeFileFeatureLayer shapeFileFeatureLayer = new ShapeFileFeatureLayer("Data
Countries02.shp");
shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Country1;
shapeFileFeatureLayer.Open();
boundingBox = shapeFileFeatureLayer.GetBoundingBox();
shapeFileFeatureLayer.Close();
mapEngine.StaticLayers.Add(shapeFileFeatureLayer);
mapEngine.CurrentExtent = boundingBox;
DrawImage();
}
private void DrawImage()
{
mapEngine.OpenAllLayers();
mapEngine.DrawStaticLayers(bitmap, GeographyUnit.DecimalDegree);
mapEngine.CloseAllLayers();
map.Image = bitmap;
}
private void ToolBar_ButtonClick(object sender, ToolBarButtonClickEventArgs e)
{
switch (e.Button.Tag.ToString())
{
case "Zoom In":
mapEngine.CurrentExtent.ScaleDown(50);
break;
case "Zoom Out":
mapEngine.CurrentExtent.ScaleUp(50);
break;
case "Full Extent":
mapEngine.CurrentExtent = boundingBox;
break;
case "Pan Left":
mapEngine.CurrentExtent = ExtentHelper.Pan(mapEngine.CurrentExtent, PanDirection.Left, 20);
break;
case "Pan Right":
mapEngine.CurrentExtent = ExtentHelper.Pan(mapEngine.CurrentExtent, PanDirection.Right, 20);
break;
case "Pan Up":
mapEngine.CurrentExtent = ExtentHelper.Pan(mapEngine.CurrentExtent, PanDirection.Up, 20);
break;
case "Pan Down":
mapEngine.CurrentExtent = ExtentHelper.Pan(mapEngine.CurrentExtent, PanDirection.Down, 20);
break;
default:
break;
}
DrawImage();
}
private void map_ClientSizeChanged(object sender, EventArgs e)
{
if (map.Width > bitmap.Width || map.Height > bitmap.Height)
{
bitmap = new Bitmap(map.Width, map.Height);
double scale = new ZoomLevelSet().GetZoomLevel(mapEngine.CurrentExtent, map.Width, GeographyUnit.DecimalDegree).Scale;
mapEngine.CurrentExtent = ExtentHelper.SnapToZoomLevel((RectangleShape)mapEngine.CurrentExtent.CloneDeep(), GeographyUnit.DecimalDegree, map.Width, map.Height, new ZoomLevelSet());
mapEngine.CurrentExtent = ExtentHelper.ZoomToScale(scale, mapEngine.CurrentExtent, GeographyUnit.DecimalDegree, map.Width, map.Height);
DrawImage();
}
}
private void btnGenerateCode_Click(object sender, EventArgs e)
{
if (mapEngine.StaticLayers.Count == 1)
{
Layer layer = mapEngine.StaticLayers[0];
GeoCodeGenerator codeGenerator = new GeoCodeGenerator();
string code = codeGenerator.GenerateCode(layer);
generatedCodeTextBox.Text = code;
}
}
}