====== Source Code ServicesEditionSample WmtsLayer CS 121116.zip ====== ===App.xaml.cs=== using System; using System; using System.Windows.Forms; namespace SourceDisplayASimpleMap { static class Program { /// /// The main entry point for the application. /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Sample()); } } } using System; using System; using System.Drawing; using System.Windows.Forms; using ThinkGeo.MapSuite.Core; public partial class Sample : Form { private MapEngine mapEngine; private Bitmap bitmap; public Sample() { InitializeComponent(); } private void WmtsLayerSample_Load(object sender, EventArgs e) { bitmap = new Bitmap(map.Width, map.Height); mapEngine = new MapEngine(); WmtsLayer wmtsLayer = new WmtsLayer(); wmtsLayer.DrawingExceptionMode = DrawingExceptionMode.DrawException; wmtsLayer.WmtsSeverEncodingType = WmtsSeverEncodingType.Restful; wmtsLayer.ServerUris.Add(new Uri("http://server.caris.com/spatialfusionserver/services/ows/wmts/NaturalEarth/")); wmtsLayer.Open(); wmtsLayer.ActiveLayerName = "newworld"; wmtsLayer.ActiveStyleName = "default"; wmtsLayer.TileMatrixSetName = "GoogleMapsCompatible"; wmtsLayer.OutputFormat = "image/png"; mapEngine.StaticLayers.Add("WmtsLayer", wmtsLayer); mapEngine.CurrentExtent = new RectangleShape(-13450952.9269994, 8588337.56133263, 5764694.11157119, -3680716.09771399); DrawImage(); } private void DrawImage() { mapEngine.OpenAllLayers(); mapEngine.DrawStaticLayers(bitmap, GeographyUnit.Meter); mapEngine.CloseAllLayers(); map.Image = bitmap; } private void btnVisitKVPServer_Click(object sender, EventArgs e) { WmtsLayer wmtsLayer = new WmtsLayer(); wmtsLayer.DrawingExceptionMode = DrawingExceptionMode.DrawException; wmtsLayer.ServerUris.Add(new Uri("http://v2.suite.opengeo.org/geoserver/gwc/service/wmts/")); wmtsLayer.Open(); wmtsLayer.ActiveLayerName = "medford:buildings"; wmtsLayer.ActiveStyleName = "_null"; wmtsLayer.TileMatrixSetName = "EPSG:900913"; wmtsLayer.OutputFormat = "image/png"; mapEngine.CurrentExtent = new RectangleShape(-13684536.8056607, 5216473.54412171, -13665771.5263202, 5204492.04702746); mapEngine.StaticLayers.Clear(); mapEngine.StaticLayers.Add("WmtsLayer", wmtsLayer); bitmap = new Bitmap(map.Width, map.Height); DrawImage(); } private void btnVisitRESTfulServer_Click(object sender, EventArgs e) { WmtsLayer wmtsLayer = new WmtsLayer(); wmtsLayer.DrawingExceptionMode = DrawingExceptionMode.DrawException; wmtsLayer.WmtsSeverEncodingType = WmtsSeverEncodingType.Restful; wmtsLayer.ServerUris.Add(new Uri("http://server.caris.com/spatialfusionserver/services/ows/wmts/NaturalEarth/")); wmtsLayer.Open(); wmtsLayer.ActiveLayerName = "newworld"; wmtsLayer.ActiveStyleName = "default"; wmtsLayer.TileMatrixSetName = "GoogleMapsCompatible"; wmtsLayer.OutputFormat = "image/png"; mapEngine.CurrentExtent = new RectangleShape(-13450952.9269994, 8588337.56133263, 5764694.11157119, -3680716.09771399); mapEngine.StaticLayers.Clear(); mapEngine.StaticLayers.Add("WmtsLayer", wmtsLayer); bitmap = new Bitmap(map.Width, map.Height); DrawImage(); } 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(100); break; case "Full Extent": if (((WmtsLayer)mapEngine.StaticLayers[0]).WmtsSeverEncodingType == WmtsSeverEncodingType.Kvp) { mapEngine.CurrentExtent = new RectangleShape(-13684536.8056607, 5216473.54412171, -13665771.5263202, 5204492.04702746); } else if (((WmtsLayer)mapEngine.StaticLayers[0]).WmtsSeverEncodingType == WmtsSeverEncodingType.Restful) { mapEngine.CurrentExtent = new RectangleShape(-13450952.9269994, 8588337.56133263, 5764694.11157119, -3680716.09771399); } 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; } bitmap = new Bitmap(map.Width, map.Height); DrawImage(); } }