Google maps 3D no Flex

Novidade para aqueles que utilizam o Google Maps no Flex. Agora esta disponível a visualização 3D no Flex.

Se você nunca desenvolveu para um exemplo do Google Maps, tem dois itens que tem que ser visto antes de inicia:

Agora você já começar a brincar. Vou explicar o exemplo Map3DSimple.mxml.

Primeiro defino a variável apikey que é definido no arquivo apiKey.txt. Após são descritas as duas funções principais que definem os principais eventos do mapa. O código esta bem comentado e logo abaixo tem quatro exemplos simples.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:maps="com.google.maps.*"
    layout="absolute">
  <mx:String id="apikey" source="apiKey.txt"/>
  <mx:Script>
    <![CDATA[
      import com.google.maps.controls.OverviewMapControl;
      import com.google.maps.controls.MapTypeControl;
      import com.google.maps.controls.ScaleControl;
      import com.google.maps.controls.NavigationControl;
      import com.google.maps.View;
      import com.google.maps.MapType;
      import com.google.maps.LatLng;
      import com.google.maps.MapOptions;
      import com.google.maps.MapEvent;
      import com.google.maps.geom.Attitude;

      /**
       * Executa método quando o mapa esta iniciando
       *
       * Neste método é adicionado as opções do mapa,
       * preenchendo a classe com.google.maps.MapOptions
       */
      private function onMapPreinitialize( event:MapEvent ):void
      {
        // Incia um novo ponto
        var myMapOptions:MapOptions=new MapOptions;
        // Define Zoom = 12
        myMapOptions.zoom=12;
        // Define o ponto que deve ser centralizado
        myMapOptions.center=new LatLng( -27.594664,-48.550874 );
        /*
           Define o tipo de mapa
           MapType.HYBRID_MAP_TYPE    ---- Mapa Hibrido, Satélite e ruas
           MapType.NORMAL_MAP_TYPE    ---- Mapa Normal
           MapType.PHYSICAL_MAP_TYPE  ---- Mapa do relevo
           MapType.SATELLITE_MAP_TYPE ---- Mapa Satélite
         */
        myMapOptions.mapType=MapType.NORMAL_MAP_TYPE;

        // Visualização em perspectiva
        myMapOptions.viewMode=View.VIEWMODE_PERSPECTIVE;
        // POntos da perspectiva
        myMapOptions.attitude=new Attitude( 0, 0, 0 );
        // passa as configurações acima para o Mapa
        map.setInitOptions( myMapOptions );
      }

      /**
       * Quando o mapa inicia, adiciona os controles do mapa
       *
       * Abaixo adiciono os controles disponíveis para o Mapa 3D
       * Os demais disponível no pacote com.google.maps.controls
       * são para controle 3D
       */
      private function onMapReady( event:MapEvent ):void
      {
        //
        map.addControl( new NavigationControl());
        // Adiciona a escala do mapa no rodapé
        map.addControl( new ScaleControl())
        // Adiciona a barra de opções no topo do Mapa
        map.addControl( new MapTypeControl())
        // Quadrado de prévia no canto inferior direito
        map.addControl( new OverviewMapControl())
      }
    ]]>
  </mx:Script>
  <maps:Map3D mapevent_mappreinitialize="onMapPreinitialize( event )"
        mapevent_mapready="onMapReady( event )"
        id="map"
        key="{ apikey }"
        width="100%"
        height="100%"/>
</mx:Application>
Arquivo Map3DSimple.mxml

Arquivo Map3DOrthogonal.mxml

Arquivo Map3DFlyTo.mxml

Arquivo Map3DAttitude.mxml

O código fonte esta disponível Aqui.

Fique por dentro de nossas novidades, ideias e atualizações