客户端数据动态渲染
<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服务。
在名为&ldquo;inputsLayer&rdquo;的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]