Solved! Go to Solution.
private function registerMapLayer(layer:*):void
{
var httpServ:HTTPService = new HTTPService();
var lname:String
if (layer is ArcGISTiledMapServiceLayer)
{
if(layer.version >= 10.01)
{
if (ArcGISTiledMapServiceLayer(layer).proxyURL != ""){
httpServ.url = ArcGISTiledMapServiceLayer(layer).proxyURL + "?" + ArcGISTiledMapServiceLayer(layer).url + "/legend?f=json";
}else{
httpServ.url = ArcGISTiledMapServiceLayer(layer).url + "/legend?f=json";
}
httpServ.resultFormat = "text";
lname = ArcGISTiledMapServiceLayer(layer).id;
httpServ.addEventListener(ResultEvent.RESULT,function(event:ResultEvent):void{processLegend(event,lname)});
httpServ.send();
}else{
lname = ArcGISTiledMapServiceLayer(layer).id;
ArcGISTiledMapServiceLayer(layer).addEventListener(DetailsEvent.GET_ALL_DETAILS_COMPLETE,function(event:DetailsEvent):void{getAllDetailsResult(event,lname)});
ArcGISTiledMapServiceLayer(layer).getAllDetails();
}
}
else if (layer is ArcGISDynamicMapServiceLayer)
{
if(layer.version >= 10.01)
{
if (ArcGISDynamicMapServiceLayer(layer).proxyURL != ""){
httpServ.url = ArcGISDynamicMapServiceLayer(layer).proxyURL + "?" + ArcGISDynamicMapServiceLayer(layer).url + "/legend?f=json";
}else{
httpServ.url = ArcGISDynamicMapServiceLayer(layer).url + "/legend?f=json";
}
httpServ.resultFormat = "text";
lname = ArcGISDynamicMapServiceLayer(layer).id;
httpServ.addEventListener(ResultEvent.RESULT,function(event:ResultEvent):void{processLegend(event,lname)});
httpServ.send();
}else{
lname = ArcGISDynamicMapServiceLayer(layer).id;
ArcGISDynamicMapServiceLayer(layer).addEventListener(DetailsEvent.GET_ALL_DETAILS_COMPLETE,function(event:DetailsEvent):void{getAllDetailsResult(event,lname)});
ArcGISDynamicMapServiceLayer(layer).getAllDetails();
}
}
else if (layer is FeatureLayer)
{
var FeatServId:Number = Number.NaN;
var msName:String;
if (FeatureLayer(layer).proxyURL != ""){
msName = FeatureLayer(layer).proxyURL + "?" + FeatureLayer(layer).url.replace("FeatureServer","MapServer");
}else{
msName = FeatureLayer(layer).url.replace("FeatureServer","MapServer");
}
var x:String = msName.substring(msName.length - 9);
if(msName.substring(msName.length - 9) != "MapServer")
{
httpServ.url = msName.substring(0,msName.lastIndexOf("/")) + "/legend?f=json";
FeatServId = parseInt(msName.substring(msName.lastIndexOf("/")+ 1));
}else{
httpServ.url = msName + "/legend?f=json";
}
if(layer.layerDetails.version >= 10.01)
{
httpServ.resultFormat = "text";
lname = FeatureLayer(layer).id;
httpServ.addEventListener(ResultEvent.RESULT,function(event:ResultEvent):void{processLegend(event,lname,FeatServId)});
httpServ.send();
} else {
lname = FeatureLayer(layer).id;
getFeatureResult(FeatureLayer(layer).layerDetails,lname);
}
}
}
private function registerMapLayer(layer:*):void
{
var httpServ:HTTPService = new HTTPService();
var lname:String
if (layer is ArcGISTiledMapServiceLayer)
{
if(layer.version >= 10.01)
{
if (ArcGISTiledMapServiceLayer(layer).proxyURL){
httpServ.url = ArcGISTiledMapServiceLayer(layer).proxyURL + "?" + ArcGISTiledMapServiceLayer(layer).url + "/legend?f=json";
}else{
httpServ.url = ArcGISTiledMapServiceLayer(layer).url + "/legend?f=json";
}
httpServ.resultFormat = "text";
lname = ArcGISTiledMapServiceLayer(layer).id;
httpServ.addEventListener(ResultEvent.RESULT,function(event:ResultEvent):void{processLegend(event,lname)});
httpServ.send();
}else{
lname = ArcGISTiledMapServiceLayer(layer).id;
ArcGISTiledMapServiceLayer(layer).addEventListener(DetailsEvent.GET_ALL_DETAILS_COMPLETE,function(event:DetailsEvent):void{getAllDetailsResult(event,lname)});
ArcGISTiledMapServiceLayer(layer).getAllDetails();
}
}
else if (layer is ArcGISDynamicMapServiceLayer)
{
if(layer.version >= 10.01)
{
if (ArcGISDynamicMapServiceLayer(layer).proxyURL){
httpServ.url = ArcGISDynamicMapServiceLayer(layer).proxyURL + "?" + ArcGISDynamicMapServiceLayer(layer).url + "/legend?f=json";
}else{
httpServ.url = ArcGISDynamicMapServiceLayer(layer).url + "/legend?f=json";
}
httpServ.resultFormat = "text";
lname = ArcGISDynamicMapServiceLayer(layer).id;
httpServ.addEventListener(ResultEvent.RESULT,function(event:ResultEvent):void{processLegend(event,lname)});
httpServ.send();
}else{
lname = ArcGISDynamicMapServiceLayer(layer).id;
ArcGISDynamicMapServiceLayer(layer).addEventListener(DetailsEvent.GET_ALL_DETAILS_COMPLETE,function(event:DetailsEvent):void{getAllDetailsResult(event,lname)});
ArcGISDynamicMapServiceLayer(layer).getAllDetails();
}
}
else if (layer is FeatureLayer)
{
var FeatServId:Number = Number.NaN;
var msName:String;
if (FeatureLayer(layer).proxyURL){
msName = FeatureLayer(layer).proxyURL + "?" + FeatureLayer(layer).url.replace("FeatureServer","MapServer");
}else{
msName = FeatureLayer(layer).url.replace("FeatureServer","MapServer");
}
var x:String = msName.substring(msName.length - 9);
if(msName.substring(msName.length - 9) != "MapServer")
{
httpServ.url = msName.substring(0,msName.lastIndexOf("/")) + "/legend?f=json";
FeatServId = parseInt(msName.substring(msName.lastIndexOf("/")+ 1));
}else{
httpServ.url = msName + "/legend?f=json";
}
if(layer.layerDetails.version >= 10.01)
{
httpServ.resultFormat = "text";
lname = FeatureLayer(layer).id;
httpServ.addEventListener(ResultEvent.RESULT,function(event:ResultEvent):void{processLegend(event,lname,FeatServId)});
httpServ.send();
} else {
lname = FeatureLayer(layer).id;
getFeatureResult(FeatureLayer(layer).layerDetails,lname);
}
}
}