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

📄 addpoint.cs

📁 arcims加点的测试程序
💻 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 + -