====== 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();
}
}