📄 webform1.aspx.cs
字号:
// sunny code 11 Nov 2004
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using MapInfo.Data;
using MapInfo.Geometry;
using MapInfo.Mapping;
using MapInfo.Engine;
using MapInfo.Styles;
using MapInfo.Web.UI.WebControls ;
namespace OverviewSample
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected MapInfo.Web.UI.WebControls.MapControl MapControl1;
protected MapInfo.Web.UI.WebControls.ZoomInToolControl ZoomInToolControl1;
protected MapInfo.Web.UI.WebControls.ZoomOutToolControl ZoomOutToolControl1;
protected MapInfo.Web.UI.WebControls.PanToolControl PanToolControl1;
protected MapInfo.Web.UI.WebControls.CenterToolControl CenterToolControl1;
protected MapInfo.Web.UI.WebControls.DistanceToolControl DistanceToolControl1;
protected MapInfo.Web.UI.WebControls.ToolbarControl ToolbarControl1;
protected MapInfo.Web.UI.WebControls.MapControl MapControl2;
// _tempTable2 is the overview render layer
private MapInfo.Data.Table _tempTable2;
private static readonly double Recdis=0.01;
private AreaStyle s;
protected OverviewTool overviewToola = new OverviewTool() ;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
MapControl2.MapTools.Add (overviewToola);
MapControl2.MapTools.CurrentTool =overviewToola.Name ;
overviewToola.Overviewtoolend+=new System.EventHandler(this.overviewtool_changeview );
if (Session.IsNewSession)
{
InitOverviewLayer();
}
else
{
_tempTable2 = MapInfo.Engine.Session.Current.Catalog.GetTable("temp_overview");
}
}
private void InitOverviewLayer()
{
_tempTable2 = MapInfo.Engine.Session.Current.Catalog.GetTable("temp_overview");
if (_tempTable2 == null)
{
TableInfo ti2 = TableInfoFactory.CreateTemp("temp_overview");
_tempTable2= MapInfo.Engine.Session.Current.Catalog.CreateTable(ti2);
MapControl2.Map.Layers.Insert(0,new FeatureLayer(_tempTable2));
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.MapControl1.PreRender += new System.EventHandler(this.MapControl1_PreRender);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void MapControl1_PreRender(object sender, System.EventArgs e)
{
//Clear the Overview Maps temp layer then add box/marker
(_tempTable2 as IFeatureCollection).Clear();
MapInfo.Geometry.DRect overRect;
overRect=MapControl1.Map.Bounds;
drawRct_overviewmap(overRect);
}
private void overviewtool_changeview(object sender, System.EventArgs e)
{
MapInfo.Geometry.DPoint Centure;
Centure = overviewToola.getPoint() ;
MapInfo.Geometry.DRect overRect;
overRect = new DRect(Centure.x-Recdis,Centure.y-Recdis,Centure.x + Recdis,Centure.y +Recdis);
FeatureLayer layer = MapControl1.Map.Layers[1] as FeatureLayer ;
MapControl1.Map.SetView(overRect,layer.CoordSys);
}
public void drawRct_overviewmap(MapInfo.Geometry.DRect overRect)
{
FeatureLayer layer = MapControl1.Map.Layers[1] as FeatureLayer ;
s = new AreaStyle(new SimpleLineStyle(new LineWidth(2, LineWidthUnit.Pixel), 2, Color.Magenta, false), new SimpleInterior(0));
FeatureGeometry g = new MapInfo.Geometry.Rectangle (layer.CoordSys,overRect);
Feature overF= new Feature(g,s);
_tempTable2.InsertFeature(overF);
_tempTable2.Refresh();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -