代码之家  ›  专栏  ›  技术社区  ›  Chunky Chunk

空中谷歌地图API安全沙盒违规?

  •  7
  • Chunky Chunk  · 技术社区  · 14 年前

    我刚开始使用GoogleMapsapiforFlash(map_20.swc)来构建一个air 2.5应用程序。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 回复  |  直到 7 年前
        1
  •  1
  •   jc303    13 年前

    我认为你可能没有跨领域的问题。

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