ok, so this is the chunk of code that deals with formatting and passing the URL parameters
===================================================================================================
private function addLayerToMap(layerObject:Object):void
{
const label:String = layerObject.label;
const type:String = layerObject.type;
const url:String = layerObject.url;
const alpha:Number = Number(layerObject.alpha);
const visible:Boolean = layerObject.visible;
const visibleLayers:String = layerObject.visibleLayers;
const mode:String = layerObject.mode;
const proxyUrl:String = m_configData.proxyUrl;
const style:String = layerObject.style;
const useAMF:String = layerObject.useAMF;
const useMapTime:Boolean = layerObject.useMapTime;
const useProxy:Boolean = layerObject.useProxy;
var i:int;
switch (type.toLowerCase())
{
case "tiled":
{
var tiledLayer:ArcGISTiledMapServiceLayer = new ArcGISTiledMapServiceLayer(url);
tiledLayer.alpha = alpha;
tiledLayer.id = label;
tiledLayer.name = label;
tiledLayer.visible = visible;
if (proxyUrl && useProxy)
{
tiledLayer.proxyURL = proxyUrl;
}
layerObject.layer = tiledLayer;
tiledLayer.addEventListener(LayerEvent.LOAD_ERROR, layer_loadErrorEvent);
tiledLayer.addEventListener(LayerEvent.LOAD, layer_loadEvent);
map.addLayer(tiledLayer);
break;
}
case "dynamic":
{
if (name == EFauna_Database)
{
params=getURLParameters();
if (params["sciname"])
{
var scinameString:String = String(params.sciname);
var Mypattern:RegExp = /%20/g;
var sciString:String = scinameString.replace(Mypattern, " ");
}
if (params["synonyms"])
{
var synonymString:String = String(params.synonyms);
var Mypattern1:RegExp = /%20/g;
var synString:String = synonymString.replace(Mypattern1, " ");
var Mypattern3:RegExp = /subsp/g;
var synString2:String = synString.replace(Mypattern3, "ssp");
}
if (params["commonname"]) // don't use the commonname for searchs -- just to display
{
var commonString:String = String(params.commonname);
var Mypattern2:RegExp = /%20/g;
var nameString:String = commonString.replace(Mypattern2, " ");
}
if (params["BCStatus"])
{
var redblueString:String = String(params.BCStatus);
}
if (params["sciname"])
{
if (params["synonyms"])
{
queryExp0 = "Sciname IN (\'" + sciString + "\', " + synString2 + " ) ";
}
else
{
// queryExp0 = "Sciname LIKE " + "\'" + sciString + "%\' " ;
queryExp0 = "Sciname = " + "\'" + sciString + "\' " ;
}
}
else
{
queryExp0 = "Sciname=\'\'";
}
/* The following section specifies the appropriate number of
layers in each map service */
var dynlayerdef:Array = new Array();
if (label == "Freshwater mussels"){
for (i = 0; i < 2; i++)
{
dynlayerdef.push(queryExp0);
}
}
else if (label == "Herps"){
for (i = 0; i < 4; i++)
{
dynlayerdef.push(queryExp0);
}
}
else if (label == "Landsnails"){......
var dynlayer:ArcGISDynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer(url);
dynlayer.id = label;
dynlayer.name = label;
dynlayer.automationName = name;
dynlayer.visible = visible;
dynlayer.alpha = alpha;
dynlayer.layerDefinitions = dynlayerdef;
map.addLayer(dynlayer);
==================================================================================================
I have started the code to get increment the http request however; I am getting a little confused!
This is what I have added so far? I am a little confused on the placement of both for-loops as well as, the second definition of within the for loop. i.e. (urlRequest = 0; urlRequest< what?; ++)
Below is my additions:
====================================================================================
case "dynamic":
{
/*Attempting to solve url length limits*/
var urlService:HTTPService = new HTTPService();
urlService.url = "http://142.103.209.55/ArcGIS/rest/services/freshwatermussels/MapServer";
urlService.method = "POST"
if (name == EFauna_Database)
{
params=getURLParameters();
/*
var urlReq:int;
for(urlReq = 0; urlReq < ?; urlReq++){} */
if (params["sciname"])
{
var scinameString:String = String(params.sciname);
var Mypattern:RegExp = /%20/g;
var sciString:String = scinameString.replace(Mypattern, " ");
// urlService.send(sciString);
// urlReq++;
}
if (params["synonyms"])
{
var synonymString:String = String(params.synonyms);
var Mypattern1:RegExp = /%20/g;
var synString:String = synonymString.replace(Mypattern1, " ");
// urlService.send(synString);
// urlReq++;
var Mypattern3:RegExp = /subsp/g;
var synString2:String = synString.replace(Mypattern3, "ssp");
// urlService.send(synString2);
// urlReq++;
}
if (params["commonname"]) // don't use the commonname for searchs -- just to display
{
var commonString:String = String(params.commonname);
var Mypattern2:RegExp = /%20/g;
var nameString:String = commonString.replace(Mypattern2, " ");
}
if (params["BCStatus"])
{
var redblueString:String = String(params.BCStatus);
// urlService.send(redblueString);
// urlReq++;
}
if (params["sciname"])
{
if (params["synonyms"])
{
queryExp0 = "Sciname IN (\'" + sciString + "\', " + synString2 + " ) ";
}
else
{
// queryExp0 = "Sciname LIKE " + "\'" + sciString + "%\' " ;
queryExp0 = "Sciname = " + "\'" + sciString + "\' " ;
}
}
else
{
queryExp0 = "Sciname=\'\'";
}.......
=====================================================================================================
Again, not quite sure the positioning for these counter loops!