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.

Gostou? Não esqueça de curtir!

Ou compartilhe o link com seus amigos

Compartilhar no Facebook Compartilhar no Google Bookmarks Compartilhar no Twitter Compartilhar no LinkedIn

6 comentários

  1. Adriano

    Fala rapaiz, muito legal este seu post heim!

    valeu

  2. Silva Developer

    Parabéns pelo post Eduardo.

    Muito bom.

    Abraços

    Silva Developer

  3. José Carlos Fiel

    Muito bom Eduardo!
    Gostei do seu post, estarei refatorando minha app que usa o Google Maps ;)
    Valeu!

  4. GuiSjlender

    JÓIA...

    Parabéns... muito bom!

    GuiSjlender

  5. Ricardo Cerqueira

    Show!

  6. [...] MAPS   http://blog.mxml.com.br/google-maps-3d-no-flex [...]

Deixe uma resposta