2010-10-30 17 views
7

Ho appena iniziato a utilizzare l'API di Google Maps per Flash (map_1_20.swc) per un'applicazione AIR 2.5 che sto creando con Flash CS5. carichi tutto e visualizzare bene in ADL, tranne che sto ricevendo le violazioni della sicurezza sandbox:AIR - Violazione della sicurezza sandbox dell'API di Google Maps?

*** 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 

la violazione sandbox di sicurezza è gettato wheneven i mouse o fuori del infowindow.

Ecco il mio codice per la classe di documento

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."})); 
    } 
} 

}

risposta