Colinhou 发表于 2012-12-29 11:07:57

客户端数据动态渲染

<div id="cnblogs_post_body">ArcGIS Server 10.1+Flex API 3.0(至少Server10.1和3.0的API才行)客户端执行GP服务,对得到的数据进行渲染,并生成图例(颜色可自定义)。
1.客户端设置好相应参数,并绘图确定分析范围,调用GP服务。
2.对GP服务返回的结果进行渲染(用到了DetailsTask和GenerateRendererTask)。
参考在线Samples:http://resources.arcgis.com/en/help/flex-api/samples/index.html#/Generate_renderers/01nq0000006z000000/
3.若觉得颜色不好看,改变图例颜色。
另:有些细节还模糊,写的有点乱,敬请指正。
效果图:
http://pic002.cnblogs.com/images/2012/468221/2012121517491328.png
具体:
1.在客户端选择好相应参数,确定分析范围,此处设置为绘图结束后立即调用GP服务。
   在名为“inputsLayer”的GraphicsLayer上绘制,并将结果转为FeatureSet,因为FeatureSet是GP输入参数的格式要求,而且包含更多属性信息等。
   然后异步提交这些确定好的GP参数,调用GP服务,并对GP事件的状态进行监听,为后续流程进行做准备。
<div class="cnblogs_code">protected function drawTool_drawEndHandler(event:DrawEvent):void            {                // reset after finished drawing a feature                map.addLayer(inputsLayer);                graphic=event.graphic;                inputsLayer.add(graphic);                var featureSet:FeatureSet=new FeatureSet();                              var params:Object=                  {                        //"SQL":"1=1",                        "Selecting_Features":featureSet,                        "Cellsize_":cellsize.value.toString(),//"0.008",                         "ValueField_":roadCoverField.selectedItem['label'].toString()                  };                GP.submitJob(params);         //提交参数,调用GP服务                //map.addLayer(refreshAddLayer);                GP.addEventListener(GeoprocessorEvent.STATUS_UPDATE,AddLayer);                GP.addEventListener(FaultEvent.FAULT,FaultInfo);                myDrawTool.deactivate();                tbb.selectedIndex = -1;                            }
页: [1]
查看完整版本: 客户端数据动态渲染