⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webform1.aspx.cs

📁 web 鹰眼 mapxtreme 实现的
💻 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 + -