<esri:Map id="myMap" mapClick="mapClickHandler(event)" openHandCursorVisible="false"> <esri:extent> <esri:WebMercatorExtent minlon="-120" minlat="30" maxlon="-100" maxlat="50"/> </esri:extent> <esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/> <esri:GraphicsLayer graphicProvider="{lastIdentifyResultGraphic}"/> <esri:GraphicsLayer id="clickGraphicsLayer"/> </esri:Map> <viewer:ViewerContainer> <viewer:configManager> <managers:ConfigManager/> </viewer:configManager> <viewer:dataManager> <managers:DataManager/> </viewer:dataManager> <viewer:mapManager> <managers:MapManager/> </viewer:mapManager> <viewer:uiManager> <managers:UIManager/> </viewer:uiManager> <viewer:widgetManager> <managers:WidgetManager/> </viewer:widgetManager> </viewer:ViewerContainer>
<viewer:BaseWidget xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:esri="http://www.esri.com/2008/ags" xmlns:viewer="com.esri.viewer.*"> <fx:Script> <![CDATA[ import com.esri.ags.Graphic; import com.esri.ags.events.MapMouseEvent; import com.esri.ags.geometry.Geometry; import com.esri.ags.symbols.InfoSymbol; import com.esri.ags.tasks.supportClasses.IdentifyParameters; import com.esri.ags.tasks.supportClasses.IdentifyResult; import mx.controls.Alert; import mx.rpc.AsyncResponder; [Bindable] private var lastIdentifyResultGraphic:Graphic; private function mapClickHandler(event:MapMouseEvent):void { clickGraphicsLayer.clear(); var identifyParams:IdentifyParameters = new IdentifyParameters(); identifyParams.returnGeometry = true; identifyParams.tolerance = 3; identifyParams.width = myMap.width; identifyParams.height = myMap.height; identifyParams.geometry = event.mapPoint; identifyParams.mapExtent = myMap.extent; identifyParams.spatialReference = myMap.spatialReference; var clickGraphic:Graphic = new Graphic(event.mapPoint, clickPtSym); clickGraphicsLayer.add(clickGraphic); identifyTask.execute(identifyParams, new AsyncResponder(myResultFunction, myFaultFunction, clickGraphic)); } private function myResultFunction(results:Array, clickGraphic:Graphic = null):void { if (results && results.length > 0) { var result:IdentifyResult = results[0]; var resultGraphic:Graphic = result.feature; switch (resultGraphic.geometry.type) { case Geometry.MAPPOINT: { resultGraphic.symbol = smsIdentify; break; } case Geometry.POLYLINE: { resultGraphic.symbol = slsIdentify; break; } case Geometry.POLYGON: { resultGraphic.symbol = sfsIdentify; break; } } lastIdentifyResultGraphic = resultGraphic; // update clickGraphic (from mouse click to returned feature) clickGraphic.symbol = new InfoSymbol(); // use default renderer clickGraphic.attributes = resultGraphic.attributes; } } private function myFaultFunction(error:Object, clickGraphic:Graphic = null):void { Alert.show(String(error), "Identify Error"); } ]]> </fx:Script> <fx:Declarations> <!-- Symbol for where the user clicked --> <esri:SimpleMarkerSymbol id="clickPtSym" color="0x000000" alpha="0.5" size="12" style="circle"/> <!-- Symbol for Identify Result as Polyline --> <esri:SimpleLineSymbol id="slsIdentify" width="2" alpha="1" color="0x00FF00" style="solid"/> <!-- Symbol for Identify Result as Point --> <esri:SimpleMarkerSymbol id="smsIdentify" color="0x00FF00" size="15" style="diamond"/> <!-- Symbol for Identify Result as Polygon --> <esri:SimpleFillSymbol id="sfsIdentify"/> <!-- Identify Task --> <esri:IdentifyTask id="identifyTask" concurrency="last" url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer"/> </fx:Declarations> <esri:Map id="myMap" mapClick="mapClickHandler(event)" openHandCursorVisible="false"> <esri:extent> <esri:WebMercatorExtent minlon="-120" minlat="30" maxlon="-100" maxlat="50"/> </esri:extent> <esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/> <esri:GraphicsLayer graphicProvider="{lastIdentifyResultGraphic}"/> <esri:GraphicsLayer id="clickGraphicsLayer"/> </esri:Map> </viewer:BaseWidget>
Seems how your requirements are very specific I would go back to integrating the Identify Sample.
Signed in members can post, follow updates, and more. New here? Register a free account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.