2010-03-26 8 views
0

J'utilise mxmlc pour compiler les exemples de google pour commencer à utiliser l'API Google Maps dans Flex 4. Mais après la compilation du fichier swf, la carte ne se charge pas.Impossible d'afficher Google Map via l'API dans Flex SDK

Je me suis inscrit pour une API clé téléchargés et le SDK inclus Maps dans le fichier de configuration XML utilisé au moment de la compilation C: \ sdk \ Flex4 \ cadres \ flex-config.xml

<external-library-path> 
    <path-element>libs/google/maps/lib/map_flex_1_18.swc</path-element> 
</external-library-path> 

Foo.mxml

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
<maps:Map xmlns:maps="com.google.maps.*" id="map" mapevent_mapready="onMapReady(event)" 
    width="100%" height="100%" key="{KEY}"/> 
<mx:Script> 
    <![CDATA[ 

    import com.google.maps.LatLng; 
    import com.google.maps.Map; 
    import com.google.maps.MapEvent; 
    import com.google.maps.MapType; 

    private function onMapReady(event:Event):void { 
     this.map.setCenter(new LatLng(40.736072,-73.992062), 14, MapType.NORMAL_MAP_TYPE); 
    } 
    ]]> 
</mx:Script> 
</mx:Application> 

Des conseils sur où aller à partir d'ici? Je peux compiler un projet flexible de base sans problème et afficher les composants que je mets donc je suppose que c'est quelque chose à voir avec la clé API?

Merci pour l'aide

+0

est-ce pas Flex 3 MXML? Le xmlns est assez différent dans Flex 4 – MonoThreaded

Répondre

0

Si votre fonction est onMapReady s'appelle votre clé api est probablement ok (vous obtiendrez une erreur autrement)

J'ai eu exactement le même problème. Mais en ajoutant ce qui suit à la fonction onMapReady() semblait fixer:

private function onMapReady(event:Event):void 
      { 
       map.enableScrollWheelZoom(); 
       map.enableContinuousZoom(); 
       map.addControl(new ZoomControl()); 
       this.map.setCenter(new LatLng(40.736072,-73.992062), 14, MapType.NORMAL_MAP_TYPE); 
      } 

Vous devriez également envisager d'utiliser la dernière version de la bibliothèque, il est maintenant sur la version 20 Malheureusement, Google ne possède pas encore « officiellement » soutien Flex 4 donc j'imagine qu'il pourrait y avoir d'autres bugs là-bas aussi.

Notez que si vous arrive d'utiliser https, vous devez également ajouter un appel à Security.allowInsecureDomain("maps.googleapis.com");