Incluye licencia y asistencia para empresas.
En esta sección se explica cómo obtener y configurar Adobe FlexBuilder, cómo hacer referencia a la biblioteca del API de Google Maps para Flash y cómo configurar tu entorno de desarrollo para comenzar a programar en ActionScript y crear tu primer mapa de API de Google Maps para Flash con el entorno integrado de desarrollo de Adobe FlexBuilder.
Nota: si prefieres utilizar el kit de desarrollo de software gratuito de Flex, consulta el tutorial del kit de desarrollo de software de Flex.
Para incorporar Google Maps en tu aplicación Flex, es necesario tener conocimientos sobre el código ActionScript, así como sobre los archivos MXML de Flex. En este tutorial se ilustra cómo configurar y ejecutar una aplicación de mapa en FlexBuilder, el entorno de desarrollo integrado para desarrollo Flex de Adobe, disponible en la siguiente URL:
http://www.adobe.com/products/flex/features/flex_builder/
En este tutorial se asume que has adquirido y configurado la aplicación FlexBuilder.
Antes de comenzar a codificar tu aplicación, deberás configurar un proyecto en FlexBuilder. Para ello, sigue estos sencillos pasos:
El proyecto se creará al hacer clic en Finish. FlexBuilder también creará de forma automática un archivo MXML de plantilla, como se muestra a continuación:
Para poder compilar el código, tendrás que vincularlo al archivo SWC del API de Google Maps para Flash. Para ello, selecciona Project->Properties. Aparecerá el cuadro de diálogo Properties de tu proyecto. Haz clic en Flex Build Path y, a continuación, selecciona la ficha Library Path:
Haz clic en Add SWC... en el panel Library Path. Aparecerá el cuadro de diálogo Add SWC. Desplázate a la ubicación en la que guardaste el kit de desarrollo de software del API de Google Maps para Flash, selecciona el archivo lib/map_flex_*.swc adecuado y haz clic en OK. (Nota: asegúrate de seleccionar el archivo SWC correcto. FlexBuilder no podrá utilizar la biblioteca de SWC distinta de Flex). El cuadro de diálogo debe presentar el siguiente aspecto:
Haz clic en OK. FlexBuilder actualizará el proyecto y volverás a la perspectiva de desarrollo de Flex que muestra tu archivo MXML base.
Puedes probar la compilación del archivo MXML base en este momento para asegurarte de que el entorno de desarrollo esté funcionando correctamente.
¡Nuevo! El API de Google Maps para Flash ofrece ahora compatibilidad nativa con el objeto com.google.maps.Map en Flex. Ya no tienes que ampliar la clase Map para definir tu clase de aplicación Map y puedes utilizar un componente Map directamente en Flex.
Las aplicaciones Flex se definen en las declaraciones MXML. Por lo general, deberás proporcionar estas definiciones de aplicación MXML en la raíz de tu directorio de código fuente. De forma predeterminada, FlexBuilder crea un directorio src en tu proyecto para colocar el código fuente y los archivos MXML deben residir en la raíz de ese directorio.
Selecciona File->New->MXML Application para crear un archivo MXML nuevo. Asigna el nombre HelloWorld.mxml al archivo MXML. En las siguientes secciones rellenaremos esta aplicación MXML base.
Los componentes que amplían cualquier componente de API de Google Maps para Flash normalmente se deberán proporcionar como archivos ActionScript en un espacio de nombre único. Google recomienda utilizar un espacio de nombre de tu propiedad para evitar conflictos con otras aplicaciones; esto resulta especialmente importante si hay muchos desarrolladores trabajando en múltiples bibliotecas Flash a la vez. El uso de espacios de nombre también te permite agrupar el código de aplicación en paquetes, lo que facilita el uso compartido de código común.
Los paquetes y los espacios de nombre se deben definir mediante el dominio de nivel superior, el dominio de organización y el subdominio. Por ejemplo, el espacio de nombre de Google Maps se define como com.google.maps y un paquete examples en ese espacio de nombre se definiría como com.google.maps.examples. A continuación, puedes utilizar este espacio de nombre para definir de forma implícita la estructura de directorio de la aplicación (por ejemplo, com/google/maps/examples/).
Puedes utilizar este espacio de nombre para definir un paquete en el código ActionScript y para definir la aplicación en la declaración MXML. Por lo general, el código ActionScript (archivos *.as) reside en el directorio situado más abajo en cualquier espacio de nombre que se defina, mientras que las declaraciones MXML (archivos *.mxml) residen en la "raíz" de la estructura de directorio.
La manera más sencilla de empezar a aprender a utilizar el API de Google Maps para Flash es observar un sencillo ejemplo. En este tutorial, utilizaremos FlexBuilder para crear un archivo MXML sencillo, añadir código ActionScript, compilar ese archivo en un archivo SWF con el kit de desarrollo de software de Flex y abrir el archivo para examinarlo visualmente.
La declaración MXML define elementos de la interfaz de usuario en una aplicación Flex, mientras que el código ActionScript integrado en la etiqueta <mx:Script> define acciones sobre dichos elementos de la interfaz de usuario. En el caso más sencillo, sólo tienes que declarar un objeto com.google.maps.Map en MXML e inicializar el mapa con código ActionScript:
Modifica el archivo HelloWorld.mxml hasta que aparezca como se muestra a continuación. Describiremos y explicaremos el código incluido en este archivo.
<?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="your_api_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>
Este ejemplo se encuentra en gmaps-samples-flash.googlecode.com/svn/trunk/examples/HelloWorld.html. (el MXML original se encuentra aquí). Ten en cuenta que tendrás que crear tu propio archivo SWF, con tu propia clave de API, para que este ejemplo aparezca en tu sitio web.
Incluso en este sencillo ejemplo, hay varios aspectos que se deben tener en cuenta:
<mx:Application> inicial para contener todo nuestro código, como se requiere en el caso de las aplicaciones Flex. En este objeto <mx:Application>, declaramos un espacio de nombre xm para hacer referencia a los componentes estándar de Flex.Map como subobjeto de <mx:Application> y definimos un espacio de nombre maps para hacer referencia al código desde com.google.maps.*. También definimos parámetros, incluidos una ID (id), un controlador mapevent_mapready y una clave (key) de API. Estos parámetros se explicarán posteriormente.<mx:Script> secundario.mapevent_mapready.En las siguientes secciones se explican estos pasos de forma más detallada.
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
Además del código ActionScript, las aplicaciones de Google Maps en Flash requieren un framework de interfaz de usuario para visualizar el mapa y cualquier elemento asociado de la interfaz de usuario en una página web. En el framework de Flex, estos componentes de la interfaz de usuario se especifican en una declaración MXML. Una declaración MXML se compone de un archivo de configuración con el sufijo .mxml. Este archivo MXML reside normalmente en la raíz del directorio de desarrollo de ActionScript.
Para visualizar el mapa de Flash en una página web, necesitarás al menos una declaración MXML. Todas las declaraciones MXML requieren un componente <mx:Application> raíz. Además, el componente <mx:Application> también registra el prefijo mx para hacer referencia a los componentes estándar de Flex.
Ten en cuenta que las declaraciones MXML puede ser bastante complejas y que el diseño de los componentes de la interfaz de usuario en una declaración MXML está fuera del ámbito de esta documentación. Para obtener más información, observa los ejemplos que se proporcionan y la documentación del kit de desarrollo de software de Flex.
<maps:Map xmlns:maps="com.google.maps.*" id="map" mapevent_mapready="onMapReady(event)" width="100%" height="100%" key="your_api_key"/>
El API de Google Maps para Flash ofrece ahora compatibilidad nativa con el objeto Map definido en el paquete com.google.maps.*. Añadimos un objeto Map aquí como subobjeto de <mx:Application>, definimos su espacio de nombre como maps (vinculándolo al código com.google.maps.*), especificamos una ID (id) con la que podemos hacer referencia al mapa desde el código ActionScript y definimos un controlador mapevent_mapready. (Consulta Gestión de eventos a continuación).
La declaración <maps:Map> también especifica los parámetros width y height para definir cómo aparecerá el mapa en la aplicación. Y lo que es más importante: la declaración MXML sirve como ubicación adecuada para colocar tu clave (key) de API única.
<mx:Script>
<![CDATA[
// ActionScript Code
]]>
</mx:Script>
Los mapas del API de Google Maps para Flash se manipulan con código ActionScript 3.0. Este tutorial no pretende enseñar las peculiaridades de ActionScript. Puedes consultar tutoriales online sobre ActionScript en las siguientes direcciones:
El objeto <mx:Script> es un componente de Flex que contiene una referencia al código ActionScript. Dado que MXML es una variante de XML, también tenemos que informar al analizador MXML de que ignore el código ActionScript en este archivo mediante el uso de los delimitadores <![CDATA[][ y ]]>.
Nota: también puedes proporcionar el código ActionScript en archivos de ActionScript independientes (*.as). Si lo haces, puedes hacer referencia al archivo ActionScript con la inclusión de un parámetro source en la etiqueta <mx:Script>:
<mx:Script> source="HelloWorld.as"></mx:Script>
Con frecuencia, la ubicación de código en archivos independientes tiene sentido si tienes aplicaciones complejas o de gran tamaño. No obstante, en esta documentación mostraremos todo el código en línea incluido en las declaraciones MXML para simplificar.
import com.google.maps.LatLng;
import com.google.maps.Map;
import com.google.maps.MapEvent;
import com.google.maps.MapType;
Las bibliotecas de ActionScript se importan con la declaración import. En el anterior código de ejemplo, importamos varias bibliotecas Flash de Google Maps.
Deberás asegurarte de importar las bibliotecas de los tipos que utilices en tu código de ejemplo. Te recomendamos que importes únicamente las clases que necesites. En la mayoría de los ejemplos que se incluyen en esta documentación, estructuramos el código de forma que el objeto <mx:Application> no utilice componentes de la interfaz de usuario de Flex. Al hacerlo, obtenemos un mapa básico de tamaño reducido. Ten en cuenta que la inclusión de cualquier biblioteca de Flex podría aumentar sustancialmente el tamaño de los archivos SWF, aunque sólo necesites un componente de Flex en concreto (como, por ejemplo, un botón).
Al igual que JavaScript, ActionScript es un lenguaje de programación generado por eventos. Las interacciones con usuarios en objetos Flash se gestionan mediante el registro de detectores de eventos en objetos para eventos específicos.
En el fragmento de código de la sección anterior, la declaración Map añadió un detector de eventos al objeto Map para el evento MapEvent.MAP_READY mediante el uso del parámetro especial mapevent_mapready. Este controlador de eventos actúa como "enlace" para la inicialización de la aplicación del API de Google Maps para Flash. Cuando el mapa recibe ese evento, llama a la función onMapReady, que se muestra a continuación.
function onMapReady(event:MapEvent):void {
setCenter(new LatLng(40.736072,-73.992062), 14, MapType.NORMAL_MAP_TYPE);
}
Esta función onMapReady() transmite un parámetro event del tipo MapEvent (que se ignora en este caso) y, a continuación, llama a setCenter() con los parámetros proporcionados (que definen una ubicación, un nivel de zoom y el tipo de mapa que se mostrará).
En general, se recomienda "inicializar" el mapa de dicha forma, interceptando y gestionando el evento MapEvent.MAP_READY. Los eventos se explican de forma más detallada en la sección Eventos de mapas de la documentación de Flash de Google Maps.
Nota: You may also initialize your map by intercepting and handling the MapEvent.MAP_PREINITIALIZE event instead. Para obtener información sobre este evento, consulta la explicación de MapOptions.
Los eventos se explican de forma más detallada en la sección Eventos de mapas de la documentación de Flash de Google Maps.
Ahora tenemos un objeto HelloWorld.mxml en el directorio raíz de nuestro origen y código ActionScript en el objeto <mx:Script> de ese archivo. Estamos preparados para compilar nuestro código en un archivo SWF (Shockwave Flash). Podemos hacerlo directamente en FlexBuilder.
Para ejecutar el compilador de FlexBuilder y ejecutar la versión de depuración de Flash Player, haz clic en una de las herramientas de ejecución ubicadas en la barra de herramientas de FlexBuilder. Las opciones permiten ejecutar una versión optimizada, una versión de depuración o una versión para analizar el rendimiento.
FlexBuilder compilará la aplicación MXML, creará un archivo SWF y abrirá automáticamente tu navegador, mostrando el siguiente archivo Flash SWF:
Si se compilan con la clave de API incluida, los archivos SWF para Flash de Google Maps se pueden mostrar como archivos independientes. Esta función es útil para realizar pruebas, pero puede no resultar práctica para un diseño de página adecuado. Por ello, es posible que quieras configurar una página HTML que contenga el archivo SWF. Para garantizar que el archivo SWF se ejecute en Internet Explorer y otros navegadores, deberás añadir el archivo SWF en las etiquetas object y embed.
A continuación se muestra una página HTML sencilla que contiene nuestro archivo HelloWorld.swf. Para que el mapa se muestre en una página web, debemos reservar un lugar para él. En este ejemplo, creamos un elemento div con nombre y le añadimos el elemento object.
<div id="map_canvas" name="map_canvas">
<object
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
width="800px"
height="600px">
<param name="movie" value="helloworld.swf">
<param name="quality" value="high">
<param name="flashVars" value="key=your_api_key">
<embed
width="800px"
height="600px"
src="helloworld.swf"
quality="high"
flashVars="key=your_api_key"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash">
</embed>
</object>
</div>
Fíjate en que añadimos el parámetro de clave de API en un parámetro flashVars. Este método de registro es una alternativa a la compilación de la clave en el archivo SWF dentro de la declaración MXML. Si los valores se especifican aquí, anularán los valores incluidos en la declaración MXML o en el archivo SWF. Además, ten en cuenta que la clave de API debe coincidir con el dominio en el que se encuentra alojado el archivo SWF, no con el dominio donde se encuentra alojado el archivo HTML.
A continuación se muestra la página HTML resultante.
¡Enhorabuena! ¡Has creado tu primera aplicación de Google Maps en Flash!
Ahora, además de permitir el desarrollo de aplicaciones Flash en el navegador, el API de Google Maps para Flash permite desarrollar aplicaciones Adobe AIR® que se ejecutan en el escritorio. Las aplicaciones AIR ofrecen funciones adicionales que no están disponibles en las aplicaciones que se ejecutan en un navegador, incluido el acceso a redes locales y archivos, la persistencia del estado de la aplicación y el acceso a los datos.
AIR es un entorno de tiempo de ejecución que permite que las aplicaciones se ejecuten de forma nativa en distintos sistemas operativos desde una base de código común. Una aplicación de instalación de AIR compila este código en un formato que puede utilizar el entorno de tiempo de ejecución. Las aplicaciones AIR te permiten interactuar directamente con el escritorio, proporcionando acceso a los archivos, almacenamiento de datos y componentes de interfaz de usuario complejos entre sistemas operativos.
Puedes consultar más información sobre Adobe AIR en la dirección http://www.adobe.com/products/air/.
Para ejecutar aplicaciones Adobe AIR, tendrás que descargar e instalar el entorno de tiempo de ejecución de Adobe AIR. Esta instalación incluye la aplicación de instalación de Adobe AIR, que convierte los archivos ejecutables de Adobe AIR en aplicaciones que se pueden ejecutar en tu sistema operativo. Asegúrate de que también estás utilizando la versión 1.8 o posterior del archivo SWC del API de Google Maps para Flash, que añade compatibilidad con AIR.
La versión más reciente de AIR está disponible en la dirección: http://get.adobe.com/air/. Descarga el archivo de esta ubicación e instálalo conforme a las instrucciones proporcionadas por Adobe. Este tutorial se ha desarrollado con la aplicación de instalación de Adobe AIR 1.1.
(Nota: los desarrolladores de Mac OS X que tengan problemas para ejecutar AIR pueden echar un vistazo a esta solución).
FlexBuilder es capaz de crear tanto aplicaciones Flash para su uso en el complemento de Flash dentro de un navegador como aplicaciones AIR independientes para su uso en el sistema operativo.
Antes de comenzar a codificar tu aplicación AIR, deberás configurar un proyecto compatible con AIR en FlexBuilder. Para ello, sigue estos sencillos pasos:
Haz clic en Next, especifica una carpeta de salida (puedes dejar el valor predeterminado como bin-debug) y, a continuación, vuelve a hacer clic en Next. Accederás al panel de configuración de Source path y Library path. Selecciona un nombre para tu archivo de aplicación principal (Main application file) y añade una ID de aplicación (Application ID), que normalmente deberá ser "de tipo paquete" (por ejemplo, com.google.maps.examples.air).
Para poder compilar el código, tendrás que vincularlo al archivo SWC del API de Google Maps para Flash. Para ello, haz clic en la ficha Library Path y en Add SWC.... Aparecerá el cuadro de diálogo Add SWC. Desplázate a la ubicación en la que guardaste el kit de desarrollo de software del API de Google Maps para Flash, selecciona el archivo lib/map_flex_*.swc adecuado y haz clic en OK. (Nota: asegúrate de seleccionar el archivo SWC correcto. FlexBuilder no podrá utilizar la biblioteca de SWC distinta de Flex.) El cuadro de diálogo debe presentar el siguiente aspecto:
Haz clic en Finish. FlexBuilder actualizará el proyecto y volverás a la perspectiva de desarrollo de Flex que muestra un archivo MXML base.
Puedes probar la compilación del archivo MXML base en este momento para asegurarte de que el entorno de desarrollo esté funcionando correctamente. Dado que el archivo está vacío, excepto por un único objeto mx:WindowedComponent, sólo verás una ventana en blanco.
Crear aplicaciones AIR del API de Google Maps para Flash es similar a crear archivos SWF para utilizarlos en un navegador, con dos excepciones:
mx:Application, la raíz de la aplicación AIR es un objeto mx:WindowedApplication, que se debe crear de forma predeterminada cuando crees tu proyecto inicial.Map en las propiedades de las aplicaciones AIR deben tener una propiedad url establecida en una ubicación online, donde se describe el objetivo y alcance de la aplicación. Esta URL (url) debe ser idéntica a la registrada cuando registraste una clave de API.Dado que las aplicaciones AIR tienen acceso al sistema de archivos, pueden realizar tareas que las aplicaciones basadas en navegador no pueden hacer fácilmente. Añadiremos código a nuestra aplicación de prueba que responde a los clics de los usuarios mediante la introducción del valor de latitud/longitud en el que se ha hecho clic en un archivo de texto.
En la perspectiva de desarrollo de FlexBuilder, copia el siguiente código (este código es el mismo que el código del tutorial de "Hello World" descrito anteriormente, excepto en que el objeto mx:Application se ha cambiado por un objeto mx:WindowedApplication y se ha establecido la propiedad Map.url.
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication 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%"
url="http://code.google.com/apis/maps/" key="your_api_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:WindowedApplication>
Ahora que tenemos este archivo base, añadiremos la función de procesar clics de eventos e introduciremos la ubicación actual en un archivo de texto.
Añade esta instrucción import adicional para añadir la función MapMouseEvent:
import com.google.maps.MapMouseEvent;
En el controlador de eventos onMapReady existente, añade el siguiente código para registrar un detector de eventos para los clics de ratón y crea un controlador de eventos onMapClick:
private function onMapReady(event:Event):void {
this.map.setCenter(new LatLng(40.736072,-73.992062), 14, MapType.NORMAL_MAP_TYPE);
this.map.addEventListener(MapMouseEvent.CLICK, onMapClick);
}
private function onMapClick(event:MapMouseEvent):void {
}
En la función onMapClick, añade el siguiente código para procesar la ubicación actual del ratón como valor de latitud/longitud e introduce el resultado en un archivo llamado "locations.txt". Ten en cuenta que, dado que las aplicaciones AIR no están asociadas a ningún sistema operativo, tenemos que obtener una referencia a este archivo mediante el método resolvePath.
private function onMapClick(event:MapMouseEvent):void {
var file:File = File.documentsDirectory.resolvePath("airTest/locations.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.APPEND);
fileStream.writeUTF(event.latLng.toString());
fileStream.writeUTF("\n");
fileStream.close();
}
Ahora podemos probar nuestra aplicación haciendo clic en el botón Run de la barra de menús de FlexBuilder:
FlexBuilder compilará la aplicación y abrirá una ventana en la que se muestra Manhattan.
Haz clic en cualquier punto del mapa. A continuación, la aplicación escribirá un archivo "locations.txt" en un directorio "airTest" de tu directorio Documents (/Users/username/Documents/ en el sistema operativo Mac, C:My Documents\ en Windows). Al abrir ese archivo de texto, deberías ver un valor de latitud/longitud simple correspondiente a la ubicación en la que has hecho clic:
Las aplicaciones AIR se ejecutan de forma nativa en el sistema operativo y a menudo disponen de acceso a información confidencial como, por ejemplo, el sistema de archivos. Por ello, es importante confiar en las aplicaciones que se ejecutan en el escritorio. Todas las aplicaciones AIR deben estar firmadas digitalmente por una entidad emisora de certificados y FlexBuilder te permite especificar este cert¡ficado al generar la versión.
FlexBuilder también te permite "autofirmar" tus propias aplicaciones con fines de prueba o las aplicaciones internas; no obstante, si piensas proporcionar tu aplicación a otros usuarios, deberás obtener un certificado comercial de una entidad emisora de certificados como Thawte o VeriSign.
Puedes consultar más información sobre la firma digital de tus aplicaciones Adobe AIR en la dirección: http://www.adobe.com/devnet/air/articles/signing_air_applications_print.html.
Ahora exportaremos un archivo de instalación de AIR (indicado por un sufijo *.air). Para ello, tendremos que crear un certificado de prueba y generar una versión en FlexBuilder.
En FlexBuilder, selecciona Project->Export Release Build. Aparecerá el cuadro de diálogo Export Release Build:
Asegúrate de seleccionar la aplicación y el proyecto adecuados y haz clic en Next. Aparecerá el panel Digital Signature. Asegúrate de que la opción Export and sign an AIR file with a digital certificate esté seleccionada. Si tienes un certificado comercial, puedes buscar y seleccionar ese certificado, proporcionar su contraseña y hacer clic en Finish. Sin embargo, si no dispones de un certificado en este momento, selecciona Create y aparecerá el cuadro de diálogo Create Self-Signed Digital Certificate:
En el cuadro de diálogo Create Self-Signed Digital Certificate, introduce un nombre de editor, una contraseña y un nombre de archivo para el certificado. Haz clic en OK y el cuadro de diálogo Export Release Build se rellenará con la información de este certificado. Haz clic en Finish. FlexBuilder compilará tu aplicación y generará un archivo *.air. A continuación, este archivo se puede instalar como aplicación a través de la aplicación de instalación de aplicaciones AIR.
Ahora tenemos un archivo de instalación de AIR ubicado en nuestro directorio de salida. Para instalar esta aplicación AIR:
Haz doble clic en el archivo MapSimple.air. Aparecerá el cuadro de diálogo Application Install:
Dado que esta aplicación se ha autofirmado, la aplicación de instalación de AIR te advertirá de que el editor de la aplicación es desconocido (UNKNOWN) y de que la aplicación presenta un acceso ilimitado (UNRESTRICTED) al sistema. Como hemos querido generar este archivo nosotros mismos, no tenemos que preocuparnos, por lo que puedes hacer clic en Install tranquilamente. A continuación, el cuadro de diálogo de instalación te pedirá que especifiques una ubicación para la instalación:
Selecciona una ubicación para la instalación (Installation Location), deja activada la casilla de verificación Start application after installation y aparecerá la aplicación MapSimple:
¡Enhorabuena! ¡Has creado tu primera aplicación de Google Maps en AIR!