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

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

?? selecttooltask.cs

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

            // perform the query
            System.Data.DataTable queryResults = lyrQuery.DoQuery();

            #endregion

            #region Convert results to graphics layer

            FeatureGraphicsLayer grLayer = null;
            if (queryResults != null)
            {
                System.Drawing.Color hiliteColor = SelectedSetColor;
                if (!RenderSelectedSet)
                    hiliteColor = System.Drawing.Color.Empty;

                grLayer =
                    ESRI.ArcGIS.ADF.Web.UI.WebControls.Converter.ToGraphicsLayer(
                    queryResults, hiliteColor, FeatureSelectionColor)
                    as FeatureGraphicsLayer;
            }
            
            if (grLayer == null)
            {
                Results = new SimpleTaskResult(
                    String.Concat(this.ID, ": No features found"), "");
                return;
            }
            #endregion

            #region Modify renderer and selected renderer

            if (grLayer != null)
            {
                FeatureSymbol symbol;

                // .Renderer present if RenderSelectedSet is true
                if (grLayer.Renderer != null)
                {
                    symbol =
                        ((ESRI.ArcGIS.ADF.Web.Display.Renderer.SimpleRenderer)grLayer.Renderer).Symbol;

                    // change polygon symbol to diagonal fill, using outline color
                    if (symbol is SimpleFillSymbol)
                    {
                        SimpleFillSymbol sfs = (SimpleFillSymbol)symbol;
                        sfs.BoundaryColor = SelectedSetColor;
                        sfs.BoundaryWidth = 2;
                        sfs.Transparency = 30;
                        sfs.FillType = PolygonFillType.FDiagonal;
                    }
                }

                symbol = ((ESRI.ArcGIS.ADF.Web.Display.Renderer.SimpleRenderer)grLayer.SelectedRenderer).Symbol;
                if (symbol is SimpleFillSymbol)
                {
                    symbol.Transparency = 0;
                    SimpleFillSymbol sfs = (SimpleFillSymbol)symbol;
                    sfs.BoundaryColor = FeatureSelectionColor;
                    sfs.BoundaryWidth = 2;
                    sfs.FillType = PolygonFillType.FDiagonal;
                    sfs.Color = FeatureSelectionColor;
                }
                
            #endregion

            #region Set Results for use by TaskResults

                GraphicsDataSet outputDataSet = new GraphicsDataSet();
                outputDataSet.DataSetName = String.Format("{0} - {1} ({2})",
                    ResultsTitle, grLayer.TableName, queryResults.Rows.Count);
                if (grLayer != null)
                    outputDataSet.Tables.Add(grLayer);

                Results = outputDataSet;
            }
            #endregion

            #region Turn off previous selections if enabled in properties

            if (HidePreviousSelections)
            {

                List<TaskResults> taskResList = Utilities.GetTaskResultsControls(
                    this.TaskResultsContainers, this.Page);
                //bool refreshTasks;
                List<string> resourcesToRefresh = new List<string>();

                // possible to have multiple TaskResults controls buddied to the task
                foreach (TaskResults taskRes in taskResList)
                {
                    //refreshTasks = false;
                    foreach (TreeViewPlusNode rNode in taskRes.Nodes)
                    {
                        if (rNode is TaskResultNode)
                        {
                            // Turn off only results from this instance of the selection task
                            if (((TaskResultNode)rNode).TaskID == this.UniqueID)
                            {
                                // Make sure the result node is actually a graphicslayer node
                                //  (No-features-found node will have a subnode, but not GraphicsLayerNode)
                                if (rNode.Nodes.Count > 0 &&
                                    rNode.Nodes[0] is GraphicsLayerNode)
                                {
                                    GraphicsLayerNode glNode = rNode.Nodes[0] as GraphicsLayerNode;
                                    // if layer is visible, turn it off
                                    if (glNode.GetVisibility(taskRes))
                                    {
                                        // must BOTH turn off checkbox AND turn off layer!
                                        glNode.Checked = false;
                                        glNode.SetVisibility(taskRes, false);

                                        // add resource to list if not already there
                                        string resourceName = glNode.GetResourceName(taskRes);
                                        if (resourcesToRefresh.IndexOf(resourceName) < 0)
                                            resourcesToRefresh.Add(resourceName);
                                    }
                                }
                            }
                        }
                    }

                    // must explicitly refresh resources if browser blends images
                    if (resourcesToRefresh.Count > 0)
                    {
                        if (mapCtrl.ImageBlendingMode == ImageBlendingMode.Browser)
                        {
                            foreach (string resourceName in resourcesToRefresh)
                                mapCtrl.RefreshResource(resourceName);

                            CallbackResults.CopyFrom(mapCtrl.CallbackResults);
                        }
                    }
                }
            }
            
            #endregion

            // Clean up query functionality
            lyrQuery.Close();
        }
        #endregion

        #region Private methods
       
        #region EnsureMapControl method
        private bool EnsureMapControl()
        {
            if (mapCtrl == null)
                mapCtrl = (ESRI.ArcGIS.ADF.Web.UI.WebControls.Map)Utilities.FindControlRecursive(Page, this.Map);
            // if Map property blank/null or not found, try to find first map in page
            if (mapCtrl == null)
            {
                List<Control> maps = Utilities.FindControls(typeof(Map), Page.Controls);
                if (maps.Count > 0)
                    mapCtrl = maps[0] as Map;
            }
            return (mapCtrl != null);
        }
        #endregion

        #region SetSelectionGeometry method
        /// <summary>
        /// Called by SelectTool, which passes in the user's tool geometry (point, rectangle, etc.).
        /// Sets up the selection on the map.
        /// </summary>
        /// <param name="selectionGeometry">Geometry for selection</param>
        protected internal void SetSelectionGeometry (ESRI.ArcGIS.ADF.Web.Geometry.Geometry selectionGeometry){
            
            EnsureMapControl();

            SelectionGeometry = selectionGeometry;
            
            // Call execute task via callback 
            //  (is there a way to do this directly that works with callback framework?)

            string layerList = String.Format("var gstLayers=document.getElementById(\"{0}\");", 
                ddlLayerList.ClientID);
            string layerValue = "var argument=\"layerId=\"+gstLayers.options[gstLayers.selectedIndex].value;";
            string taskCall = string.Format("var tmp=\"executeTask('\" + argument + \"', \\\"{0}\\\")\";",
                CallbackFunctionString);
            // Must include a delay, otherwise causes repeated client callback loop
            string timeoutCall = "window.setTimeout(tmp,200);";
            string jsString = String.Concat(layerList, layerValue, taskCall, timeoutCall);

            CallbackResult cbr = new CallbackResult(this, "javascript", new object[] { jsString });
            this.mapCtrl.CallbackResults.Add(cbr);

            ResetCursor(mapCtrl);
        }
        #endregion

        #region ResetCursor method
        private void ResetCursor(Map mapCtrl)
        {
            Object[] oa = new Object[1];

            // Issue with the map control as the context for callback: need to tell map to reset the cursor
            oa[0] = "map.divObject.style.cursor = 'pointer';";// map.cursor";

            CallbackResult cr1 = new CallbackResult(mapCtrl, "javascript", oa);
            mapCtrl.CallbackResults.Add(cr1);
        }
        #endregion

        #region ParseLayerId method
        private void ParseLayerId(string inputString, out string layerId, out string resourceName)
        {
            layerId = null; // String.Empty; 
            resourceName = null; // String.Empty;

            int dPos = inputString.IndexOf(idStringDelim);
            if (dPos > 0)
            {
                layerId = inputString.Substring(0, dPos);
                resourceName = inputString.Substring(dPos + idStringDelim.Length);
            }
        }
        #endregion

        #endregion

        #region Geometry serialization methods

        public static string SerializeGeometry(Geometry geometry)
        {
            string serGeom = String.Empty;
            StringBuilder sbGeom;

            if (geometry is Point)
            {
                Point p = (Point)geometry;
                serGeom = String.Format("{0}:{1}", p.X.ToString(), p.Y.ToString());
            }
            else if (geometry is Envelope)
            {
                Envelope env = (Envelope)geometry;
                serGeom = String.Format("{0}:{1}:{2}:{3}", env.XMin.ToString(),
                    env.YMin.ToString(), env.XMax.ToString(), env.YMax.ToString());
            }
            else if (geometry is Polyline)
            {
                Polyline pl = (Polyline)geometry;
                sbGeom = new StringBuilder();
                foreach (Path path in pl.Paths)
                    sbGeom.AppendFormat("{0}~", PointsToString(path.Points));
                sbGeom.Remove(sbGeom.Length - 1, 1);
                serGeom = sbGeom.ToString();
            }
            else if (geometry is Polygon)
            {
                Polygon poly = (Polygon)geometry;
                sbGeom = new StringBuilder();
                foreach (Ring ring in poly.Rings)
                    sbGeom.AppendFormat("{0}~", PointsToString(ring.Points));
                sbGeom.Remove(sbGeom.Length - 1, 1);
                serGeom = sbGeom.ToString();
            }

            return serGeom;
        }

        public static Geometry DeserializeGeometry(string geometryString, Type geometryType)
        {
            Geometry geom = null;
            string[] gArr;
            char[] xyDelim = new char[] { ':' };
            char ptDelim = '|';
            char pathDelim = '~';

            if (geometryType == typeof(Point))
            {
                gArr = geometryString.Split(xyDelim);
                geom = new Point(double.Parse(gArr[0]), double.Parse(gArr[1]));
            }
            else if (geometryType == typeof(Envelope))
            {
                gArr = geometryString.Split(xyDelim);
                geom = new Envelope(double.Parse(gArr[0]), double.Parse(gArr[1]),
                    double.Parse(gArr[2]), double.Parse(gArr[3]));
            }
            else if (geometryType == typeof(Polyline))
            {
                gArr = geometryString.Split(pathDelim);
                Polyline pLine = new Polyline();
                foreach (string pathStr in gArr)
                    pLine.Paths.Add(new Path(pathStr, ptDelim, xyDelim[0]));
                geom = pLine;
            }
            else if (geometryType == typeof(Polygon))
            {
                gArr = geometryString.Split(pathDelim);
                Polygon poly = new Polygon();
                foreach (string ringStr in gArr)
                    poly.Rings.Add(new Ring(ringStr, ptDelim, xyDelim[0]));
                geom = poly;
            }

            return geom;
        }

        private static string PointsToString(PointCollection ptColl)
        {
            StringBuilder sbPts = new StringBuilder();
            foreach (Point p in ptColl)
                sbPts.AppendFormat("{0}:{1}|", p.X.ToString(), p.Y.ToString());
            // remove last |
            sbPts.Remove(sbPts.Length - 1, 1);
            return sbPts.ToString();
        }
        #endregion
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品第一页| 成人免费看片app下载| 亚洲国产精品激情在线观看| 欧美私人免费视频| 国产九色sp调教91| 性欧美疯狂xxxxbbbb| 国产精品嫩草久久久久| 欧美丰满嫩嫩电影| 色婷婷精品久久二区二区蜜臀av | 一区二区三区高清不卡| 久久久精品天堂| 欧美一区二区成人6969| 欧洲一区二区三区在线| 国产v日产∨综合v精品视频| 麻豆视频观看网址久久| 无码av免费一区二区三区试看| 欧美韩日一区二区三区| 26uuu国产日韩综合| 91 com成人网| 欧美日韩成人在线一区| 色婷婷狠狠综合| 成人av在线播放网站| 国产乱码精品一区二区三区五月婷| 午夜av电影一区| 亚洲影院在线观看| 亚洲综合激情另类小说区| 亚洲欧洲韩国日本视频| 亚洲欧洲性图库| 国产精品国产自产拍高清av| 国产精品日韩精品欧美在线| 国产精品人成在线观看免费| 国产日韩成人精品| 久久先锋影音av| 欧美变态tickling挠脚心| 5858s免费视频成人| 欧美区视频在线观看| 欧美日韩一区二区三区在线| 欧美午夜影院一区| 欧美日韩国产中文| 欧美久久久久久久久中文字幕| 欧美日韩色综合| 欧美日韩激情在线| 91精品国产一区二区| 日韩一区二区三区视频在线观看| 日韩一区二区在线播放| 精品国产一区二区三区av性色| 欧美第一区第二区| 中文字幕精品一区| 亚洲欧美日韩国产一区二区三区 | 国产一区二区在线视频| 国产精品中文字幕日韩精品| 国产不卡视频一区| 9i在线看片成人免费| 91浏览器打开| 欧洲一区在线观看| 欧美一卡2卡3卡4卡| 精品国产髙清在线看国产毛片| 精品免费国产一区二区三区四区| 久久久久久久综合| 国产精品久久久久久久午夜片| 亚洲天堂成人网| 午夜伦欧美伦电影理论片| 男女性色大片免费观看一区二区| 国产酒店精品激情| 91麻豆自制传媒国产之光| 欧美日韩国产影片| 久久亚洲一区二区三区明星换脸| 欧美高清在线一区二区| 亚洲一区二区五区| 久久精品国产色蜜蜜麻豆| 成人免费黄色大片| 欧美欧美午夜aⅴ在线观看| 欧美精品一区二区在线播放| 中文字幕国产一区二区| 性做久久久久久免费观看| 国产在线观看一区二区| 日本精品一区二区三区高清 | 亚洲免费观看高清完整版在线| 亚洲777理论| 激情小说欧美图片| 欧美在线不卡视频| 久久这里只有精品首页| 亚洲精品大片www| 国产在线精品一区二区三区不卡 | 亚洲图片欧美色图| 久久国产精品第一页| 99re8在线精品视频免费播放| 制服.丝袜.亚洲.另类.中文 | 中文字幕第一区综合| 日韩精品一卡二卡三卡四卡无卡| 国产成人自拍高清视频在线免费播放| 色94色欧美sute亚洲13| 久久久久久久久久久黄色| 亚洲国产精品久久人人爱| 成人污污视频在线观看| 91精品国产日韩91久久久久久| 中文字幕一区二| 精品一区二区三区不卡| 欧美日本精品一区二区三区| 国产精品视频免费看| 精一区二区三区| 欧美三级电影在线看| 中文字幕一区视频| 国产伦精品一区二区三区视频青涩 | 欧美午夜影院一区| 中文字幕亚洲成人| 国产精品夜夜爽| 日韩精品最新网址| 香蕉加勒比综合久久| 一本久久综合亚洲鲁鲁五月天| 国产色综合久久| 久久99精品国产.久久久久久| 欧美性受极品xxxx喷水| 最好看的中文字幕久久| 成人午夜碰碰视频| 国产色婷婷亚洲99精品小说| 国产一区二三区| 精品欧美乱码久久久久久1区2区| 亚洲成av人片一区二区三区| 一本大道久久a久久精二百| 欧美激情在线看| 懂色av一区二区三区免费看| 久久日韩粉嫩一区二区三区| 看电影不卡的网站| 日韩限制级电影在线观看| 日本欧美一区二区| 欧美电影影音先锋| 日韩精品国产精品| 日韩午夜小视频| 久久草av在线| 久久综合狠狠综合| 国产99一区视频免费| 日韩一区二区三区av| 一个色综合av| 欧美视频一区在线观看| 亚洲亚洲精品在线观看| 欧洲av一区二区嗯嗯嗯啊| 一区二区三区在线免费播放| 欧美羞羞免费网站| 午夜精品国产更新| 欧美一区二区在线观看| 久久av资源网| 国产日韩v精品一区二区| 成人高清伦理免费影院在线观看| 国产精品免费视频网站| 91免费观看在线| 亚洲一区二区欧美| 欧美一区中文字幕| 九色porny丨国产精品| 日本一区二区免费在线观看视频 | 在线视频欧美精品| 亚洲福利一区二区| 欧美一区二区三区四区五区 | wwwwww.欧美系列| 国产98色在线|日韩| 亚洲四区在线观看| 欧美日韩一级二级三级| 精品一二三四区| 亚洲丝袜另类动漫二区| 欧美午夜宅男影院| 激情综合一区二区三区| 国产精品国产三级国产aⅴ无密码| 一本色道久久综合亚洲精品按摩| 亚洲成av人影院| 久久久久国产一区二区三区四区| 99精品热视频| 日韩精品一二区| 国产精品人成在线观看免费| 在线观看亚洲精品视频| 久久精品国产免费看久久精品| 国产精品私人影院| 欧美放荡的少妇| 不卡免费追剧大全电视剧网站| 亚洲va天堂va国产va久| 国产女同性恋一区二区| 欧美日韩亚洲丝袜制服| 国产高清久久久| 亚洲成人1区2区| 中文字幕第一区| 日韩一区国产二区欧美三区| 91丨九色丨尤物| 激情综合亚洲精品| 亚洲v日本v欧美v久久精品| 欧美精品一区二区三区四区| 色视频欧美一区二区三区| 久久成人免费网站| 亚洲一区二区视频在线观看| 久久九九久久九九| 91精品在线免费观看| 91在线视频网址| 奇米四色…亚洲| 亚洲国产欧美一区二区三区丁香婷| 精品日韩成人av| 欧美军同video69gay| 99精品在线免费| 国产激情视频一区二区在线观看 | 极品销魂美女一区二区三区| 一区二区免费看| 国产精品日日摸夜夜摸av| 精品久久久久久久久久久久久久久久久 |