我正在尝试将来自谷歌地图静态图像 api 的图像加载到闪存中。当我尝试加载它们时,闪存会抱怨沙盒问题。即使在我尝试从谷歌加载策略文件之后。
Security.loadPolicyFile("http://maps.googleapis.com/crossdomain.xml");
有没有办法解决?还是根本不可能以这种方式加载图像?
我正在尝试将来自谷歌地图静态图像 api 的图像加载到闪存中。当我尝试加载它们时,闪存会抱怨沙盒问题。即使在我尝试从谷歌加载策略文件之后。
Security.loadPolicyFile("http://maps.googleapis.com/crossdomain.xml");
有没有办法解决?还是根本不可能以这种方式加载图像?
var loader1:Loader = new Loader();
var lctx1:LoaderContext = new LoaderContext(true);
loader1.contentLoaderInfo.addEventListener(Event.INIT, doImgInit);
loader1.load(new URLRequest("http://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=600x400&maptype=satellite&sensor=false&scale=4"), lctx1);
private function doImgInit(evt:Event):void
{
trace("DO IT")
// get a reference to the LoaderInfo object in which the image is loaded
var lInfo:LoaderInfo = evt.target as LoaderInfo;
// this variable is used as reference to the image in the end.
var dO:DisplayObject;
// try to access the "content" property of the loader, if it works, there is a crossdomain.xml file.
try{
dO = lInfo.loader.content;
}
// if there wasn't one, we need to put the loader inside another object in order to manipulate it
catch(err:SecurityError)
{
// create a new Sprite to contain the loaded image
var sprt:Sprite = new Sprite();
// add the loader to the sprite
sprt.addChild(lInfo.loader);
// get a reference to this sprite in the dO variable
var dO:DisplayObject = sprt as DisplayObject;
}
// from here on you can do anything to the dO variable, rotate it, draw it unto a bitmapData, move it around..
// but first don't forget to add to to some container that is on the stage so you can see it!
}