domingo, 19 de julio de 2009
admin
Investigando un poco mas sobre google maps me encontre con una libreria de utilidades que proporciona 3 mapas nuevos, el del espacio, la luna y marte. Usarlos es muy simple. La libreria tambien tiene otras utilidades que aun no exploro en profundidad. Si les interesa pueden bajarsela y leer un poco mas en el sitio oficial en google code.
Visitar aca. http://code.google.com/p/gmaps-utility-library-flash/
EJEMPLO DE GOOGLE SKY (o presiona la imagen)

EJEMPLO DE GOOGLE MOON (o presiona la imagen)

EJEMPLO DE GOOGLE MARS (o presiona la imagen)

En esta ocacion voy a explicar brevemente como utilizar el API de google Maps.
1.- Lo primero que deben hacer es conseguir una API Key para poder conectarse.
Para solicitar la key deben ir a http://code.google.com/apis/maps/signup.html
En ese sitio, luego de leer y aceptar los terminos y condiciones deben especificar el dominio de su pagina. Para luego obtener su key.

2.- El siguiente paso es descargarse el kit de google con las librerias para actionscript y flex.
El kit lo pueden descargar directamente haciendo click aca
El kit contiene dos archivos .swc, uno para flash y el otro para flex. En este ejemplo yo utilize el de flash.
3.- Con la key y la api ya estamos listos para empezar a trabajar. Lo primero que deben hacer es crear un nuevo proyecto y configurar su Flash IDE para que incluya el archivo .swc de la API. Para hacer eso deben ir a edicion-preferencias-actionscript-actionscript 3 se les abrira una ventana que contiene todos los class path a sus distintas librerias y en la parte para las librerias deben agregar la carpeta que contiene el .swc de la API de google.
4.- Ahora directo al codigo.
1
2
3
4
5
6
7
8
9
10
11
| var _map:Map = new Map();
_map.key = "ACA DEBEN PONER SU KEY";
_map.language = "es";
_map.setSize(new Point(stage.stageWidth, stage.stageHeight));
_map.addEventListener(MapEvent.MAP_READY, onMapReady);
_map.y = 50;
addChild(_map);
function onMapReady(event:Event):void {
_map.setCenter(new LatLng(40.736072, -73.992062), 14, MapType.NORMAL_MAP_TYPE);
} |
Con estas pocas lineas ya tenemos en nuestra aplicacion conectandose a google maps y mostrando el mapa del mundo.

Ojala este pequeño post le sirva a alguien. Cualquier duda, consulta o sugerencia sera bien recibida.
VER EJEMPLO
DESCARGAR EJEMPLO
Un ejemplito de como cargar un sonido y reproducirlo en loop para los que estan empezando. El codigo es bastante sencillo asi que no voy a detallar mucho.
La clase SoundChannel sirve para controlar sonidos, tiene el metodo stop() para detener el sonido y usa una clase SoundTransform para controlar parametros como el volumen o el pan.
La clase Sound es para almacenar el archivo en si. la clase te permite cargar un mp3 y ponerle play.
Todo lo que comento de estas clases es muy por encima, son mucho mas complejas que eso. Pero bueno para los que comienzan con esto del actionscript les puede ser de ayuda.
DESCARGAR EJEMPLO
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;
/**
* This class load a sound and play it in loop.
* @author http://www.miguelmoraleda.com
*/
public class Main extends Sprite
{
private var soundFactory:Sound;
private var song:SoundChannel;
public function Main()
{
super();
loadSound("sound.mp3");
}
/**
* Load the sound
* @param url
*/
private function loadSound(url:String):void
{
var request:URLRequest = new URLRequest(url);
soundFactory = new Sound();
soundFactory.addEventListener(Event.COMPLETE, completeHandler);
soundFactory.load(request);
}
/**
* When sound is loaded, play it.
* @param e
*/
private function completeHandler(e:Event):void
{
soundFactory.removeEventListener(Event.COMPLETE, completeHandler);
playSound();
}
/**
* Play the sound and add listener to sound complete.
*/
private function playSound():void
{
song = soundFactory.play();
song.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
}
/**
* when the sound is finish play again.
* @param e
*/
private function soundCompleteHandler(e:Event):void
{
song.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
playSound();
}
}
}