Robert,
I'd like to implement functionality in this widget so the user can input an address, and I will run a geoprocessing buffer on the address they input, and then create a report for their input address. Can you provide me any guidance for this?
Workflow as follows:
1. User inputs address
2. Geocode address and pass those X,Y coordinates to a buffer function.
3. Use the buffer to analyze what is in the buffer such as parcels that intersect the buffer and create a report showing all parcels intersecting the 100 foot buffer.
I see I can use your buffer widget as input to the eSearch for a graphical search, but I'd like to minimize the steps so the user just inputs and address, and it zooms to the predefined buffer distance and pops up with a report.
M Lowry,
Currently there is nothing that it configurable to match your workflow.
if(!relfloatdg){
relfloatdg = new SearchWidgetRelateFloatDG();
PopUpManager.addPopUp(relfloatdg,map,false,PopUpManagerChildList.POPUP);
PopUpManager.centerPopUp(relfloatdg);
}else{
var exists:Boolean = false;
for (var p:Number=0;p<systemManager.popUpChildren.numChildren;p++) {
if(systemManager.popUpChildren.getChildAt(p) is SearchWidgetRelateFloatDG){
exists = true;
break;
}
}
if(exists == false){
PopUpManager.addPopUp(relfloatdg,map,false,PopUpManagerChildList.POPUP);
PopUpManager.centerPopUp(relfloatdg);
}
}
if(relfloatdg.datagrid.dataProvider)
relfloatdg.datagrid.dataProvider.removeAll();
relfloatdg.csvExportOptionLbl = exp2csvOptLbl;
relfloatdg.txtExportOptionLbl = exp2txtOptLbl;
relfloatdg.ExportButtonLbl = expBtnLbl;
relfloatdg.csvSeperator = csvSep;
relfloatdg.dgFieldAliases = relfldAliases;
relfloatdg.csvName = relatescsvName;
relfloatdg.sumField = sumField;
relfloatdg.labelSum = lblSum;
relfloatdg.dgColumns = relateFields;
relfloatdg.dgHyperColumns = relateHyperFields;
relfloatdg.layerDetails = relqueryLayer.layerDetails;
relfloatdg.dProvider = fset.attributes;
relfloatdg.enableExport = relExportEnabled;
relfloatdg.dgtitle = relLbl;M Lowry,
Look at using the new SearchWidgetRelateFloatDG.mxml as it does not have all the ties back to eSrearch widget with mouse over events.
This is the code you need to concentrate on:if(!relfloatdg){ relfloatdg = new SearchWidgetRelateFloatDG(); PopUpManager.addPopUp(relfloatdg,map,false,PopUpManagerChildList.POPUP); PopUpManager.centerPopUp(relfloatdg); }else{ var exists:Boolean = false; for (var p:Number=0;p<systemManager.popUpChildren.numChildren;p++) { if(systemManager.popUpChildren.getChildAt(p) is SearchWidgetRelateFloatDG){ exists = true; break; } } if(exists == false){ PopUpManager.addPopUp(relfloatdg,map,false,PopUpManagerChildList.POPUP); PopUpManager.centerPopUp(relfloatdg); } } if(relfloatdg.datagrid.dataProvider) relfloatdg.datagrid.dataProvider.removeAll(); relfloatdg.csvExportOptionLbl = exp2csvOptLbl; relfloatdg.txtExportOptionLbl = exp2txtOptLbl; relfloatdg.ExportButtonLbl = expBtnLbl; relfloatdg.csvSeperator = csvSep; relfloatdg.dgFieldAliases = relfldAliases; relfloatdg.csvName = relatescsvName; relfloatdg.sumField = sumField; relfloatdg.labelSum = lblSum; relfloatdg.dgColumns = relateFields; relfloatdg.dgHyperColumns = relateHyperFields; relfloatdg.layerDetails = relqueryLayer.layerDetails; relfloatdg.dProvider = fset.attributes; relfloatdg.enableExport = relExportEnabled; relfloatdg.dgtitle = relLbl;
This shows all the vars that have to be passed to the SearchWidgetRelateFloatDG. I have seen where others have reused my floatDataGrid so it can be done. I can't say I have time to walk you through each step required but you should be able to figure it out by walking the code.
Heena,
Using your configuration you provided and your map service in my Flex Viewer 2.5 and with my latest eSearch Widget version 2.5.0.5 it works fine:
[ATTACH=CONFIG]10740[/ATTACH]