로더를 사용하여 WMS (웹 매핑 서비스)에서 이미지를 요청하고 있습니다. 모든 것은 유효한 요청으로 훌륭하고 멋쟁이입니다.ActionScript 로더 이벤트 관련 문제
WMS에 잘못된 요청이있는 경우 일반적으로 표준 예외 문서 (XML)가 반환됩니다. 그러나 잘못된 요청이 이루어지면 로더는 이벤트 (특히 Complete 또는 IOError 이벤트)를 발생시키지 않습니다.
아무에게도 반환 될 수있는 이미지가 아닌 것을 잡아낼 수있는 방법에 대한 제안이 있습니까? 어떤 데이터가 실제로 요구되는보고를 통해 더 많은 유연성을 제공 당신이하는은 URLLoader에 로더를 변환됩니다에 볼 수 있었다
override protected function loadMapImage(loader:Loader):void
{
// update parameter values
_params = new URLVariables();
_params.request = "GetMap";
_params.format = "image/png";
_params.version = "1.1.1";
_params.layers = this.layers;
_params.styles = "";
_params.transparent = "TRUE";
_params.bbox = map.extent.xmin + "," + map.extent.ymin + "," + map.extent.xmax + "," + map.extent.ymax;
_params.srs = "EPSG:" + map.spatialReference.wkid;
_params.width = map.width;
_params.height = map.height;
_urlRequest = new URLRequest(this.url);
_urlRequest.data = _params;
configureListeners(loader.contentLoaderInfo);
loader.load(_urlRequest);
}
private function configureListeners(dispatcher:IEventDispatcher):void
{
//dispatcher.addEventListener(Event.INIT, initHandler);
//dispatcher.addEventListener(Event.UNLOAD, unloadHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
//dispatcher.addEventListener(Event.OPEN, openHandler);
//dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
//dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
//dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
//dispatcher.addEventListener(Event.ACTIVATE, activateHandler);
//dispatcher.addEventListener(Event.DEACTIVATE, deactivateHandler);
}
private function ioErrorHandler(event:IOErrorEvent):void
{
trace('ioErrorHandler event');
}
private function completeHandler(event:Event):void
{
trace('completeHandler event');
}
이것은 완벽하게 도움이되었습니다. – user163757