📄 addpoint.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools;
using ESRI.ArcGIS.ADF.Web.UI.WebControls;
using ESRI.ArcGIS.ADF.Web.DataSources.IMS;
/// <summary>
/// 用于地图点(测试标记A290192812029181)
/// </summary>
public class AddPoint : IMapServerToolAction
{
public void ServerAction(ToolEventArgs args)
{
ESRI.ArcGIS.ADF.Web.UI.WebControls.Map mapctrl = (ESRI.ArcGIS.ADF.Web.UI.WebControls.Map)args.Control;
PointEventArgs pea = (PointEventArgs)args;
System.Drawing.Point screen_point = pea.ScreenPoint;
MapFunctionality mf = (MapFunctionality)mapctrl.GetFunctionality(0);
ESRI.ArcGIS.ADF.IMS.Carto.MapView mapview = mf.MapView;
//转换坐标
ESRI.ArcGIS.ADF.Web.Geometry.Point adf_map_point =
ESRI.ArcGIS.ADF.Web.Geometry.Point.ToMapPoint(screen_point,
mapctrl.Extent,
mf.DisplaySettings.ImageDescriptor.Width,
mf.DisplaySettings.ImageDescriptor.Height);
ESRI.ArcGIS.ADF.IMS.Geometry.Point mapPoint = (ESRI.ArcGIS.ADF.IMS.Geometry.Point)ESRI.ArcGIS.ADF.Web.DataSources.IMS.Converter.ToIMSGeometry(adf_map_point);
//记录添加点
mapctrl.Page.Session["PointList"] += mapPoint.X.ToString() + "," + mapPoint.Y.ToString() + "|";
//创建图层
string acetateName = "ALayer" + mapview.Layers.Count.ToString();
ESRI.ArcGIS.ADF.IMS.Carto.Layer.AcetateLayer originalLayer = new ESRI.ArcGIS.ADF.IMS.Carto.Layer.AcetateLayer(acetateName);
ESRI.ArcGIS.ADF.IMS.Display.AcetateElement.TextElement Po = new ESRI.ArcGIS.ADF.IMS.Display.AcetateElement.TextElement();
//设置渲染
Po.Font.Name = "ESRI Caves 1";
Po.Font.Size = 36;
Po.Label = "a";
Po.Location = mapPoint;
Po.Font.Color = System.Drawing.Color.Red;
//添加图层
originalLayer.AcetateElements.Add(Po);
mapview.Layers.Add(originalLayer);
//刷新地图
mapctrl.Refresh();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -