亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? selecttooltask.cs

?? C#開發的ArcGIS Server9.2地圖選擇控件
?? CS
?? 第 1 頁 / 共 3 頁
字號:

        #region OnPreRender method
        // Set up control rendering - not called on every callback so efficient runtime
        protected override void OnPreRender(EventArgs e)
        {
            #region Available layers list
            if (!EnsureMapControl())
                return;
            // GetQueryLayers returns an out param for invalid services, 
            //  which is only used during design time
            //  to let developer know whether any map services are down
            string[] invalidServices;
            ListItem[] layerItems = 
                Utilities.GetQueryLayers(mapCtrl, SelectionLayerNames,
                idStringDelim, out invalidServices);
            ddlLayerList.Items.AddRange(layerItems);
            if (ddlLayerList.Items.Count == 1)
                ddlLayerList.Enabled = false;
            else
                ddlLayerList.Items.Insert(0, new ListItem("<Choose layer>", "null"));
            #endregion

            #region Select toolbar
            selectToolbar.BuddyControlType = BuddyControlType.Map;
            selectToolbar.BuddyControls.Add(new BuddyControl(mapCtrl.ID));
            string toolbarGroupName = GetToolbarGroupName(mapCtrl, Page.Controls);
            selectToolbar.Group = toolbarGroupName;
            selectToolbar.UseDefaultWebResources = this.UseDefaultWebResources;
            selectToolbar.WebResourceLocation = this.WebResourceLocation;
            selectToolbar.ToolbarStyle = ToolbarStyle.ImageOnly;
            selectToolbar.ToolbarStyle = ToolbarStyle.ImageOnly;
            selectToolbar.Width = new Unit("200px");
            selectToolbar.Height = new Unit("32px");

            selectToolbar.ToolbarItems.Add(CreateTool("btSelectPointTool", MapClientToolAction.Point,
                "Select by single click", "select_point_1U.gif", "select_point_1D.gif"));
            selectToolbar.ToolbarItems.Add(CreateTool("btSelectRectTool", MapClientToolAction.DragRectangle,
                "Select by dragging a rectangle", "select_rect_1U.gif", "select_rect_1D.gif"));
            selectToolbar.ToolbarItems.Add(CreateTool("btSelectLineTool", MapClientToolAction.Polyline,
                "Select by drawing a line", "select_line_1U.gif", "select_line_1D.gif"));
            selectToolbar.ToolbarItems.Add(CreateTool("btSelectPolyTool", MapClientToolAction.Polygon,
                "Select by drawing a polygon", "select_poly_1U.gif", "select_poly_1D.gif"));
            selectToolbar.ToolbarItems.Add(CreateTool("btSelectCircleTool", MapClientToolAction.Circle,
                "Select by drawing a circle", "select_circle_1U.gif", "select_circle_1D.gif"));
            #endregion

            base.OnPreRender(e);
        }
        #endregion

        #region Rendering

        #region RenderContents method
        protected override void RenderContents(HtmlTextWriter writer)
        {
            /* We do control rendering here, rather than in CreateChildControls(),
                because CreateChildControls() runs every callback, whereas RenderContents
                runs on on full postback.
             */
            #region Set up
            List<Control> ctlList = new List<Control>();
            string cellText;
            string toolTip;

            // <table> opening tag
            writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "10pt");
            writer.RenderBeginTag(HtmlTextWriterTag.Table);
            #endregion

            #region Selection layer label and drop-down
            cellText = "選擇圖層: ";
            toolTip = "從列表中選擇一個圖層使其處于可選擇狀態.";
            RenderTableRowControl(writer, ddlLayerList, cellText, toolTip);
            #endregion

            #region Select toolbar
            toolTip = "Choose a tool to select features on the map.";
            RenderTableRowControl(writer, selectToolbar, null, toolTip);
            #endregion

            writer.RenderEndTag();      // </table> ending tag

            //base.RenderContents(writer);
        }
        #endregion

        protected override void Render(HtmlTextWriter writer)
        {
            if (DesignMode)
            {
                RenderDesignTimeHtml(writer);
            }
            else
            {
                base.Render(writer);
            }
        }

        protected override void RenderDesignTimeHtml(HtmlTextWriter writer)
        {
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.WriteLine(string.Format("<p>SelectToolTask:{0}</p>", ID));
            writer.RenderEndTag();
            writer.RenderEndTag();
        }

        #endregion

        #endregion

        #region Rendering helper methods

        private void RenderTableRowControl(HtmlTextWriter writer, Control control,
            string cellText, string cellTooltip)
        {
            Control[] ctls = new Control[] { control };
            RenderTableRowControls(writer, ctls, cellText, cellTooltip);
        }

        private void RenderTableRowControls(HtmlTextWriter writer, Control[] controls,
            string cellText, string cellTooltip)
        {
            writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap");
            if (cellTooltip != null)
                writer.AddAttribute(HtmlTextWriterAttribute.Title, cellTooltip);
            writer.RenderBeginTag(HtmlTextWriterTag.Td);
            if (cellText != null)
                writer.Write(cellText);
            if (controls != null)
                foreach (Control ctl in controls)
                    ctl.RenderControl(writer);
            writer.RenderEndTag(); // td
            writer.RenderEndTag(); // tr
        }

        private Tool CreateTool(string name, MapClientToolAction action, string tooltip,
            string defaultImageName, string downImageName)
        {
            Type controlType = this.GetType();
            string imgUrl = GetEmbeddedImageUrl(defaultImageName, controlType);
            string downImgUrl = GetEmbeddedImageUrl(downImageName, controlType);

            Tool tool = new Tool(ClientID + "_" + name);
            tool.ClientAction = action.ToString();
            tool.Cursor = "pointer";
            tool.DefaultImage = imgUrl;
            tool.SelectedImage = downImgUrl;
            string assemFullName = this.GetType().Assembly.FullName;
            tool.ServerActionAssembly = assemFullName.Substring(0, assemFullName.IndexOf(","));
                //this.GetType().Assembly.FullName; // task assembly name;
            tool.ServerActionClass = typeof(SelectTool).FullName;
                //typeof(SelectTool).AssemblyQualifiedName; // namespace.toolclassname;
            tool.Text = "Select feature";
            tool.ToolTip = tooltip;
            return tool;
        }

        // currently unused
        //private DropDownList CreateToolActionDropDown()
        //{
        //    DropDownList ddlToolType = new DropDownList();
        //    ddlToolType.ID = "selectToolType";
        //    ddlToolType.Items.Add(new ListItem("Point", "Point"));      //MapPoint
        //    ddlToolType.Items.Add(new ListItem("Rectangle", "DragRectangle")); // MapDragRectangle
        //    ddlToolType.Items.Add(new ListItem("Circle", "Circle"));  // MapCircle
        //    ddlToolType.Items.Add(new ListItem("Line", "Polyline"));  // MapPolyline
        //    ddlToolType.Items.Add(new ListItem("Polygon", "Polygon")); //MapPolygon
        //    ddlToolType.ToolTip = "Tool to use when selecting";
        //    return ddlToolType;
        //}

        private string GetEmbeddedImageUrl(string imageName, Type controlType)
        {
            string fileName = controlType.Namespace + ".images." + imageName;
            string imgUrl = Page.ClientScript.GetWebResourceUrl(controlType,
                fileName);
            return imgUrl;
        }

        // Finds the group name for the first toolbar buddied to the map control
        //  (if no toolbar groups, creates a name)
        private string GetToolbarGroupName(Map map, ControlCollection controls)
        {
            string tbGroupName = "";

            string[] toolbarGroups = Toolbar.FindToolbarGroupsBuddiedTo(map.UniqueID, Page);

            if (toolbarGroups == null || toolbarGroups.Length < 1)
                tbGroupName = "SelectToolTaskToolbarGroup_" + map.UniqueID;
            else
                tbGroupName = toolbarGroups[0];

            return tbGroupName;
        }
        #endregion

        #region Input property - stores data for running task for run-task-again
        public override object Input
        {
            get
            {
                return base.Input;
            }
            set
            {
                #region Used by "Run Task Again", "Refresh" context menus
                base.Input = value;
                if (value != null)
                {
                    object[] inputs = value as object[];
                    if (inputs != null)
                    {
                        EnsureChildControls();

                        // this may not be necessary since state manager may take care of it...
                        
                        SelectLayerId = (string)inputs[0];
                        SelectMapResource = (string)inputs[1];
                        mapResMgr = (string)inputs[2];
                        SelectionGeometry = inputs[3] as ESRI.ArcGIS.ADF.Web.Geometry.Geometry;
                        if (!String.IsNullOrEmpty(SelectLayerId))
                            ddlLayerList.SelectedValue = String.Concat(
                                SelectMapResource, idStringDelim, SelectLayerId);
                    }
                }
                #endregion
            }
        }
        #endregion

        #region GetCallbackResult
        public override string GetCallbackResult()
        {
            string argUnesc = System.Uri.UnescapeDataString(_callbackArg);

            System.Collections.Specialized.NameValueCollection keyValColl = CallbackUtility.ParseStringIntoNameValueCollection(argUnesc);

            string eventArg = keyValColl["EventArg"];
            //string taskJobID = keyValColl["taskJobID"];

            // Get the type of operation requested by browser
            switch (eventArg)
            {
                case "executeTask":

                    // parse the input and store in layer ID and map resource variables
                    string lyr; string mapRes;
                    this.ParseLayerId(keyValColl["layerId"], out mapRes, out lyr);
                    this.SelectLayerId = lyr;
                    this.SelectMapResource = mapRes;

                    // Store inputs to task
                    object[] taskInputs = new object[4];
                    taskInputs[0] = SelectLayerId;
                    taskInputs[1] = SelectMapResource;
                    EnsureMapControl();
                    // mapresourcemanager only stored so other tasks (Buffer) can use it
                    taskInputs[2] = this.mapCtrl.MapResourceManager;
                    // selection geometry set in previous callback
                    taskInputs[3] = this.SelectionGeometry;
                    Input = taskInputs;

                    break;
            }

            return base.GetCallbackResult();
        }
        #endregion

        public override List<GISResourceItemDependency> GetGISResourceItemDependencies()
        {
            List<GISResourceItemDependency> list = new List<GISResourceItemDependency>();
            return list;
        }

        #region ExecuteTask method
        public override void ExecuteTask()
        {
            #region Get inputs from Input property
            object[] inputs = Input as object[];

            SelectLayerId = (string)inputs[0];
            SelectMapResource = (string)inputs[1];
            // inputs[2] is mapresourcemanager--only stored so other tasks can use it
            SelectionGeometry = inputs[3] as Geometry;

            if (String.IsNullOrEmpty(SelectLayerId) || String.IsNullOrEmpty(SelectMapResource))
            {
                Results = new SimpleTaskResult(
                    String.Concat(this.ID, ": No select layer"),
                    "No selection layer has been specified.");
                return;
            }

            if (SelectionGeometry == null) 
            {
                Results = new SimpleTaskResult(
                    String.Concat(this.ID, ": Error during selection"),
                    "Select layer, map resource or no selection geometry found.");
                return;
            }

            #endregion

            #region Set up and run query

            EnsureMapControl();

            IMapFunctionality mf = (IMapFunctionality)
                mapCtrl.GetFunctionality(SelectMapResource);
            LayerQuery lyrQuery = new LayerQuery(mf, SelectLayerId);

            lyrQuery.FilterGeometry = SelectionGeometry;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久久久久久院品网| 欧美日韩国产高清一区| 亚洲成年人影院| 久久亚洲二区三区| 欧美日韩免费一区二区三区视频| 国产精品一区二区久久不卡| 亚洲地区一二三色| 国产精品不卡在线| 久久一日本道色综合| 欧美日韩一级片网站| 高清不卡一区二区在线| 麻豆精品在线看| 一区二区视频在线看| 国产日韩av一区二区| 欧美sm极限捆绑bd| 欧美日韩亚洲丝袜制服| 99国产一区二区三精品乱码| 精品一区二区精品| 天堂精品中文字幕在线| 中文字幕在线一区| 国产三级精品视频| 久久久高清一区二区三区| 欧美老人xxxx18| 日本精品免费观看高清观看| 成人免费观看视频| 国产成人午夜片在线观看高清观看| 免费观看在线综合色| 五月天亚洲精品| 一个色妞综合视频在线观看| 亚洲图片另类小说| 中文字幕在线不卡| 国产精品麻豆久久久| 欧美激情一区二区三区全黄| 国产日韩欧美在线一区| 国产偷国产偷亚洲高清人白洁| 日韩精品一区二区三区蜜臀| 91.麻豆视频| 制服丝袜在线91| 欧美一区二区三区免费大片 | 国产日韩精品一区二区三区 | 欧美精品久久99久久在免费线 | 久久久噜噜噜久久人人看| 日韩一二在线观看| 日韩三级.com| 日韩免费看网站| 精品国产乱码久久久久久1区2区| 日韩一卡二卡三卡国产欧美| 日韩欧美亚洲国产另类| 精品人伦一区二区色婷婷| www激情久久| 久久精品亚洲精品国产欧美 | 成人黄色国产精品网站大全在线免费观看| 久久99精品国产.久久久久久| 久久69国产一区二区蜜臀| 久久97超碰色| www.欧美.com| 91久久精品国产91性色tv| 欧美日韩五月天| 日韩亚洲欧美一区二区三区| 26uuu久久综合| 亚洲国产成人在线| 亚洲日本欧美天堂| 五月天国产精品| 国产一区二区三区免费播放| 不卡免费追剧大全电视剧网站| 99re这里只有精品6| 欧美性受xxxx黑人xyx性爽| 日韩欧美在线网站| 国产欧美日韩三级| 亚洲精品水蜜桃| 免费在线看一区| 国产高清不卡一区| 欧美性极品少妇| 久久嫩草精品久久久久| 中文字幕在线观看一区二区| 肉丝袜脚交视频一区二区| 国产精品一二一区| 色婷婷精品久久二区二区蜜臀av| 日韩一区二区在线观看视频 | 久久久91精品国产一区二区精品 | 国产精品无码永久免费888| 一区二区高清免费观看影视大全| 青娱乐精品视频在线| 成人福利在线看| 欧美日韩不卡一区| 国产嫩草影院久久久久| 午夜国产精品一区| 床上的激情91.| 91精品免费在线| 一区在线播放视频| 日本少妇一区二区| 色综合久久久久综合体桃花网| 日韩你懂的在线播放| 一区二区三区四区av| 国产乱码精品1区2区3区| 欧美亚洲高清一区| 国产精品久久久久精k8 | 免费久久精品视频| 99久久精品国产导航| 欧美本精品男人aⅴ天堂| 亚洲综合999| 成人国产精品免费网站| 欧美成人a视频| 亚洲一区二区美女| 白白色 亚洲乱淫| 久久影院午夜论| 久久福利资源站| 欧美日韩成人在线| 亚洲男人天堂av| 不卡电影免费在线播放一区| 久久综合久色欧美综合狠狠| 天堂资源在线中文精品| 在线免费观看日本欧美| 中文字幕成人网| 国产高清精品久久久久| 2022国产精品视频| 日本不卡一区二区| 欧美日韩国产精品自在自线| 亚洲乱码中文字幕综合| 99精品欧美一区二区三区小说| 精品国产乱码久久久久久夜甘婷婷| 午夜精彩视频在线观看不卡| 欧美在线免费观看亚洲| 亚洲激情第一区| 日本韩国欧美一区| 亚洲人成在线观看一区二区| 成人精品视频.| 国产精品乱人伦中文| 国产成人在线免费| 日本一区二区成人| 风间由美性色一区二区三区| 国产亚洲福利社区一区| 国产一区二区三区蝌蚪| 久久久久久久久久久久久久久99| 麻豆极品一区二区三区| 精品国产免费一区二区三区香蕉| 蜜乳av一区二区三区| 日韩欧美国产综合一区| 蜜桃久久精品一区二区| 精品国产人成亚洲区| 国产成人在线观看免费网站| 日本一区二区三区在线不卡| 国产91露脸合集magnet | 欧美极品另类videosde| 成人性生交大片| 日本一区二区三区在线观看| 91在线精品一区二区三区| 国产精品久久久久aaaa樱花| 91丨九色丨尤物| 亚洲一区二区三区在线看| 欧美探花视频资源| 日韩电影在线一区二区三区| 日韩欧美国产综合一区| 国产精品一线二线三线精华| 国产精品视频九色porn| 97成人超碰视| 五月婷婷激情综合网| 精品美女一区二区| 国产aⅴ综合色| 亚洲精品欧美专区| 欧美久久久久久久久中文字幕| 麻豆精品视频在线| 中文字幕av一区 二区| 日本道免费精品一区二区三区| 亚洲福利一区二区三区| 日韩三级高清在线| 成人av免费网站| 日韩av电影免费观看高清完整版 | 国产99久久久久| 亚洲精品v日韩精品| 日韩小视频在线观看专区| 国产成人综合亚洲91猫咪| 一区二区在线免费| 精品处破学生在线二十三| 色综合久久88色综合天天| 日本视频一区二区三区| 国产精品私房写真福利视频| 欧美日韩午夜影院| 国产精品一区二区x88av| 亚洲国产综合色| 国产欧美综合在线观看第十页| 欧美日韩一区中文字幕| 韩国三级在线一区| 一区二区三区加勒比av| 精品国产123| 欧美一区二区三区免费视频| 国产不卡一区视频| 日日欢夜夜爽一区| 国产精品久久久久久久久久免费看 | 91视频在线观看| 奇米色一区二区| 亚洲人成精品久久久久久| 日韩精品中午字幕| 91麻豆高清视频| 国产成人丝袜美腿| 美女一区二区三区| 亚洲国产日产av| 自拍偷拍亚洲激情| 久久久久久麻豆| 日韩一区二区精品在线观看|