AIR - Нарушение безопасности изолированной программной среды API Карт Google? - PullRequest
7 голосов
/ 30 октября 2010

Я только начал использовать API Карт Google для Flash (map_1_20.swc) для приложения AIR 2.5, которое я создаю на Flash CS5.все загружается и отображается нормально в ADL, за исключением того, что я получаю нарушения изолированной программной среды безопасности:

*** Security Sandbox Violation ***
SecurityDomain 'http://maps.googleapis.com/mapsapi/publicapi?
file=flashapi&url=http%3A%2F%2FgMyDomainName.com&key=ABQIAAAAKlbBGDLCUgZLtxxJ6-
Hi9RQ7KOBhSjQi3kzVUu2XaSyicmBCGxQz68ixtUMxnYSMDFuMNT0cJYPwjQ&sensor=false&v=1.20&fl
pub=&flh=17e8cb187dcf0488fac63df6b16432b7592443ee&flc=at&flcl=a0g30ufvvrvvtvvbo03' 
tried to access incompatible context 'app:/MapTest.swf'

//MyDomainName.com represents my domain registered with the API key

нарушение защитной программной среды выдается, когда я нажимаю или не открываю информационное окно.

мой код для документа класса

package
{
import com.google.maps.LatLng;
import com.google.maps.InfoWindowOptions;
import com.google.maps.Map;
import com.google.maps.MapEvent;
import com.google.maps.MapType;
import flash.display.Sprite;
import flash.events.Event;

public class MapTest extends Sprite
{
public function MapTest()
    {
    addEventListener(Event.ADDED_TO_STAGE, init);
    }

private function init(evt:Event):void
    {
    removeEventListener(Event.ADDED_TO_STAGE, init);

    var map:Map = new Map();
    map.key = "ABQIAAAAKlbBGDLCUgZLtxxJ6-Hi9RQ7KOBhSjQi3kzVUu2XaSyicmBCGxQz68ixtUMxnYSMDFuMNT0cJYPwjQ";
    map.url = "http://MyDomainName.com"; //MyDomainName.com represents my domain registered with the API key
    map.sensor = "false";
    map.width = stage.stageWidth;
    map.height = stage.stageHeight;     
    map.alpha = 0.0;

    map.addEventListener(MapEvent.MAP_READY, mapReadyEventHandler);
    map.addEventListener(MapEvent.TILES_LOADED, tilesLoadedEventHandler);
    addChild(map);
    }

private function mapReadyEventHandler(evt:MapEvent):void
    {
    trace("Map Ready");
    evt.currentTarget.removeEventListener(MapEvent.MAP_READY, mapReadyEventHandler);
    evt.currentTarget.setCenter(new LatLng(45.53329,-73.67638), 11, MapType.NORMAL_MAP_TYPE);
    }

private function tilesLoadedEventHandler(evt:MapEvent):void
    {
    trace("Tiles Loaded");
    evt.currentTarget.removeEventListener(MapEvent.TILES_LOADED, tilesLoadedEventHandler);
    evt.currentTarget.alpha = 1.0; //Create Fade In Here (Tween)

    evt.currentTarget.openInfoWindow(evt.currentTarget.getCenter(), new InfoWindowOptions({title: "Test Title", content: "Test Content."}));
    }
}

}

1 Ответ

1 голос
/ 30 мая 2011

Я думаю, у вас могут не быть междоменных проблем.

http://kb2.adobe.com/cps/142/tn_14213.html

...