Bo,
Once you check the "enable multi-part graphics" checkbox then you will see a search button appears to the right of that chanckbox and then you choose a draw tool and draw on the map (multiple times) and once complete you click the search button.
<field name="PicForwardLink" alias="Pic Forward" visible="false"/> <field name="PicRightLink" alias="Pic Right" visible="false"/> <field name="PicBackLink" alias="Pic Back" visible="false"/> <field name="PicLeftLink" alias="Pic Left" visible="false"/> </fields> <links> <link alias="FRA Rail Crossing Site" disablelinksifnull="false" disableinpopups="false"> <![CDATA[http://safetydata.fra.dot.gov/OfficeofSafety/PublicSite/Crossing/Crossing.aspx]]> <icon><![CDATA[assets/images/FRA.png]]></icon> </link> <link alias="Looking Forward" includeinresults="true" field="PicForwardLink" disablelinksifnull="true" disableinpopups="false" > <![CDATA[{PicForwardLink}]]> <icon><![CDATA[assets/images/w_link_U.png]]></icon> </link> <link alias="Looking Right" includeinresults="true" field="PicRightLink" disablelinksifnull="true" disableinpopups="false" > <![CDATA[{PicRightLink}]]> <icon><![CDATA[assets/images/w_link_R.png]]></icon> </link> <link alias="Looking Back" includeinresults="true" field="PicBackLink" disablelinksifnull="true" disableinpopups="false" > <![CDATA[{PicBackLink}]]> <icon><![CDATA[assets/images/w_link_D.png]]></icon> </link> <link alias="Looking Left" includeinresults="true" field="PicLeftLink" disablelinksifnull="true" disableinpopups="false" > <![CDATA[{PicLeftLink}]]> <icon><![CDATA[assets/images/w_link_L.png]]></icon> </link> </links>
Bo,
Give it a test in the Live Preview Site:
http://gis.calhouncounty.org/FlexViewer3.3/index.html?config=config-eSearch.xml
Bo,
Thanks for reporting this. It use to work just fine so I am not sure which version it broke in...
Update: I have found the issue in the code and it will be fixed in the next version.
/* * Function That takes all the graphics in a defined GraphicsLayer and adds unions them into one geometry * @param GraphicsLayer gl is the graphics layer to union * @return Geometry of the unioned graphics */ private function unionGeoms2(gl:GraphicsLayer):Geometry { var retGeom:Geometry; var mPoint:Multipoint = new Multipoint(null); mPoint.spatialReference = map.spatialReference; var mPoly:Polygon = new Polygon(null); mPoly.spatialReference = map.spatialReference; var mPolyL:Polyline = new Polyline(null); mPolyL.spatialReference = map.spatialReference; var rType:String; //globals var poly:Polygon; var ext:Extent; var i:int; var j:int; var mp:MapPoint; var ringArray:Array; for each (var graphic:Graphic in gl.graphicProvider){ if(graphic.geometry.type == "esriGeometryPoint" && !addTolerance.selected){ mPoint.addPoint(graphic.geometry as MapPoint); rType = "point"; }else if (graphic.geometry.type == "esriGeometryPoint" && addTolerance.selected){ ext = createExtentAroundMapPoint(graphic.geometry as MapPoint, pointSearchTolerance) as Extent; poly = ext.toPolygon(); for (i = poly.rings.length - 1; i >= 0; i--){ ringArray = []; for (j = 0; j < poly.rings.length; j++){ mp = poly.getPoint(i,j) as MapPoint; mp.spatialReference = poly.spatialReference; ringArray.push(mp); } mPoly.addRing(ringArray); } rType = "poly"; mPoly.spatialReference = poly.spatialReference; } if(graphic.geometry.type == "esriGeometryMultipoint"){ var mp1:Multipoint = graphic.geometry as Multipoint var pnts:MapPoint; for (var p:int=0;p < mp1.points.length; p++){ mPoint.addPoint(mp1.points ); } rType = "point"; } if(graphic.geometry.type == "esriGeometryPolygon"){ poly = graphic.geometry as Polygon; for (i = poly.rings.length - 1; i >= 0; i--){ ringArray = []; for (j = 0; j < poly.rings.length; j++){ mp = poly.getPoint(i,j) as MapPoint; mp.spatialReference = poly.spatialReference; ringArray.push(mp); } mPoly.addRing(ringArray); } rType = "poly"; mPoly.spatialReference = poly.spatialReference; } if(graphic.geometry.type == "esriGeometryPolyline"){ var polyl:Polyline = graphic.geometry as Polyline; for(var l:int=polyl.paths.length-1; l >= 0; l--){ var pathArray:Array = []; for (j = 0; j < polyl.paths.length; j++){ mp = polyl.getPoint(l,j) as MapPoint; mp.spatialReference = polyl.spatialReference; pathArray.push(mp); } mPolyL.addPath(pathArray); } rType = "line"; } if(graphic.geometry.type == "esriGeometryEnvelope"){ ext = graphic.geometry as Extent; poly = ext.toPolygon(); for (i = poly.rings.length - 1; i >= 0; i--){ ringArray = []; for (j = 0; j < poly.rings.length; j++){ mp = poly.getPoint(i,j) as MapPoint; mp.spatialReference = poly.spatialReference; ringArray.push(mp); } mPoly.addRing(ringArray); } rType = "poly"; mPoly.spatialReference = poly.spatialReference; } } switch(rType){ case "point":{ retGeom = mPoint; break; } case "poly":{ retGeom = mPoly; break; } case "line":{ retGeom = mPolyL; break; } } return retGeom; }
Robert,
I tried your 3.3.3, but the pulldown is still not populating. I was able to extract the ArcGIS Server logs for the process in question on both servers.
First, here is the one that works:<Msg time='2013-06-10T13:36:31' type='INFO3' code='4006' target='hs_wm.MapServer' machine='xxxxxx' user='UNET\brophyt' thread='7440' elapsed='0.03100'>Server Context created.</Msg> <Msg time='2013-06-10T13:36:31' type='INFO2' code='100001' target='hs_wm.MapServer' methodName='MapServer.QueryData' machine='xxxxxx' user='UNET\brophyt' process='8364' thread='2536'>String request received. Request size is 173151 characters.</Msg> <Msg time='2013-06-10T13:36:31' type='INFO2' code='10106' target='hs_wm.MapServer' methodName='MapServer.QueryData' machine='xxxxxx' user='UNET\brophyt' process='8364' thread='2536'>QueryData has started.</Msg> <Msg time='2013-06-10T13:36:36' type='INFO3' code='10107' target='hs_wm.MapServer' methodName='MapServer.QueryData' machine='xxxxxx' user='UNET\brophyt' process='8364' thread='2536' elapsed='4.38601'>QueryData has completed.</Msg> <Msg time='2013-06-10T13:36:36' type='INFO2' code='100002' target='hs_wm.MapServer' methodName='MapServer.QueryData' machine='xxxxxx' user='UNET\brophyt' process='8364' thread='2536' elapsed='4.39902'>String request succesfully processed. Response size is 45108 characters.</Msg> <Msg time='2013-06-10T13:36:36' type='INFO3' code='4007' target='hs_wm.MapServer' machine='xxxxxx' user='UNET\brophyt' thread='4220' elapsed='4.43000'>Server Context released.</Msg>
Here is the one that fails to populate.<Msg time='2013-06-10T13:36:31' type='INFO3' code='4006' target='hs_wm.MapServer' machine='yyyyyy' user='?' thread='120460' elapsed='0.01600'>Server Context created.</Msg> <Msg time='2013-06-10T13:36:31' type='INFO2' code='100001' target='hs_wm.MapServer' methodName='MapServer.QueryData' machine='yyyyyy' user='?' process='121360' thread='121304'>String request received. Request size is 173151 characters.</Msg> <Msg time='2013-06-10T13:36:31' type='INFO2' code='10106' target='hs_wm.MapServer' methodName='MapServer.QueryData' machine='yyyyyy' user='?' process='121360' thread='121304'>QueryData has started.</Msg> <Msg time='2013-06-10T13:36:31' type='ERROR' code='10837' target='hs_wm.MapServer' methodName='MapServer.QueryData' machine='yyyyyy' user='?' process='121360' thread='121304'>Geodatabase error: Logfile not found.</Msg> <Msg time='2013-06-10T13:36:31' type='ERROR' code='10837' target='hs_wm.MapServer' methodName='MapServer.QueryFeatureData' machine='yyyyyy' user='?' process='121360' thread='121304'>Genaral GeoDatabase Error.</Msg> <Msg time='2013-06-10T13:36:36' type='INFO3' code='10107' target='hs_wm.MapServer' methodName='MapServer.QueryData' machine='yyyyyy' user='?' process='121360' thread='121304' elapsed='0.22043'>QueryData has completed.</Msg> <Msg time='2013-06-10T13:36:31' type='ERROR' code='100005' target='hs_wm.MapServer' methodName='MapServer.QueryData' machine='yyyyyy' user='?' process='121360' thread='121304' elapsed='0.23043'>Method failed.HRESULT = 0x80041530 : This is a FACILITY_ITF error that is specific to the interface that returned the error. See documentation of the interface that returned this error for information about this HRESULT.</Msg> <Msg time='2013-06-10T13:36:36' type='DEBUG' code='100000' target='hs_wm.MapServer' methodName='MapServer.QueryData' machine='yyyyyy' user='?' process='121360' thread='121304'>ERROR INFO = Error processing server request.</Msg> <Msg time='2013-06-10T13:36:36' type='INFO3' code='4007' target='hs_wm.MapServer' machine='yyyyyy' user='?' thread='118788' elapsed='0.28000'>Server Context released.</Msg>
Do you know what, "Geodatabase error: Logfile not found." on line 4 is about? Do you know where this log file is located? Could this be a permissions issue? I am running out of ideas.
//
I almost forgot. The first set of logs are from our UNCLAS server, querying hs_wm mapservice who's data resides in ArcSDE on another ORACLE box - it works fine.
The second set of logs are from our CLASS server, querying the same hs_wm mapservice who's data resides in ArcSDE on another ORACLE box - it does not work. The interesting thing I found out through testing --> If I export the data being queried into a FGB local to ArcGIS Server - The dropdown works fine.
//
Thanks for your help.