1,首先整理地图所需的图例为一个图片,
然后在地图加载完的事件中动态加载此图片到地图上,
然后在导出的widget页面点击时间导出地图控件。OK
代码实现:
com\esri\viewer\managers\MapManager.mxml 页面creationComplete="this_creationCompleteHandler()" 内调用地图加载图例图片到地图
。。
[Embed(source="/assets/images/tuli.png")]
private var _tuli:Class;
。。
private function this_creationCompleteHandler():void
{。。。
//图例图片加载到地图
setTuliImg();
}
//图例图片加载到地图
private function setTuliImg():void
{
var target:UIComponent=map;
target.width= Application.application.width;
target.height = Application.application.height;
var imgtuli:Image = new Image();
imgtuli.source=_tuli;
imgtuli.right=200;
imgtuli.bottom=200;
imgtuli.width=100;
imgtuli.height=80;imgtuli.move(target.width-200,target.height-100);
target.addChild(imgtuli);
}
然后:在导出的widget页面 控件 <s:Button id="btnExport" label="出图" click="export(event)" />
private function export(event:MouseEvent):void{
var target:UIComponent=map;
var fr:FileReference = new FileReference();
var bitmapData : BitmapData = new BitmapData(target.width,target.height);
bitmapData.draw(target);
var jpgEncoder:JPEGEncoder = new JPEGEncoder(10000);
var data:ByteArray = jpgEncoder.encode(bitmapData);
fr.save(data, txtImgName.text+'.jpg');//图片默认名字
}
完成