Usando Geolocalização com Flash Lite e Nokia Platform Services

O uso de recursos de geolocalização não é mais novidade hoje em dia, temos aparelhos com GPS integrados em carros, smartphones, notebooks etc. O Flash Lite 4.0, Flash Player 10.1(somente mobile) e Adobe AIR 2.5(também só mobile) têm suporte nativo a geolocalização. O Flash Lite 3 pode acessar recursos de geolocalização do smartphone através do Nokia Platform Services
A Nokia criou uma biblioteca especialmente para trabalhar em conjunto com o Flash Lite dando acesso a recurso que nativamente não são possivéis como acesso ao acelerômetro, GPS, agenda de contatos etc.

A Nokia criou uma biblioteca especialmente para trabalhar em conjunto com o Flash Lite dando acesso a recurso que nativamente não são possivéis como acesso ao acelerômetro, GPS, agenda de contatos etc.

Vou mostrar um exemplo simples do uso de geolocalização com Flash Lite 3.0 e Nokia Platform Services.
Baixe a biblioteca da Nokia e em seguida salve no diretorio de acordo com seu sistema operacional:

O Nokia Platform Services só funciona em dispositivos com o Symbian S60 5th.

  • No Mac – Copie para /Users//Library/Application/Support/Adobe/Flash CS5/en/Configuration/Classes/
  • No Windows Vista – Extraia para /Users//AppData/Local/Adobe/Flash CS4/en/Configuration/Classes.
  • No Windows XP – Extraia para //Local Settings/Application Data/Adobe/Flash CS5/en/Configuration/Classes/

Começaremos nosso primeiro exemplo:

  • Crie um arquivo do tipo ActionScript 2.0 e peça para compilar para o Flash Lite 3.0 ou 3.1. Ou pode criar diretamente pelo Adobe Device Central CS5.
  • Crie um MovieClip e de o nome de instância “mcScreen” e deixe no palco.

Agora iremos a parte da codificação. Iniciaremos desabilitando o teclado virtual(no meu caso to usando um Nokia 5230) e setando o programa para abrir em fullscreen.
[ACTIONSCRIPT]
fscommand2(“DisableKeypadCompatibilityMode”);
fscommand2(“FullScreen”, “true”);
[/ACTIONSCRIPT]

Adicionaremos o import para classe services da Nokia e declararemos as variavéis necessarias.
[ACTIONSCRIPT]
import com.nokia.lib.Service

//api google maps
var API_KEY:String = “YOUR_API_KEY”;
var latitude:Number;
var longitude:Number;
var myLocation:Service;
var mapLoader:MovieClipLoader;
[/ACTIONSCRIPT]

Usarei a API do Google Maps para usar os dados de latitude e longitude para mostrar a localização no mapa. É necessaria adquirir uma key do site do Google.
Instanciaremos o serviço e setamos para que peça as informações de geolocalização do smartphone.
[ACTIONSCRIPT]
var myLocation = new Service(“Service.Location”, “ILocation”);
var inParams = {LocationInformationClass:”GenericLocationInfo”};
var outParams = myLocation.GetLocation(inParams);
[/ACTIONSCRIPT]

Agora é só pegar os valores da latitude e longitude para mandar carregar a localização no mapa. Um detalhe é que o Google não possui API para se trabalhar com ActionScript 2.0, somente para ActionScript 3.0. Portanto o que farei é que o Flash carregue uma imagem do Google Maps via HTTP. Você pode ver mais detalhes clicando aqui.
[ACTIONSCRIPT]
if (outParams.ErrorCode == 0)
{
var outList = outParams.ReturnValue;
txtLatitude.text = outList.Latitude;
txtLongitude.text = outList.Longitude;
latitude = outList.Latitude;
longitude = outList.Longitude;
mcScreen.createEmptyMovieClip(“mcMap”, mcScreen.getNextHighestDepth());
mapLoader = new MovieClipLoader();
mapURL = “http://maps.google.com/maps/api/staticmap?center=”+latitude+”,”+longitude+”&size=360×640&markers=color:red|”+latitude+”,”+longitude+”&key=”+API_KEY+”&format=jpg-baseline&zoom=10&sensor=true”;
mapLoader.loadClip(mapURL, mcScreen.mcMap);
}
[/ACTIONSCRIPT]

DOWNLOAD SOURCE
Para saber mais:
http://www.forum.nokia.com/Develop/Other_Technologies/Flash_lite/
http://library.forum.nokia.com/index.jsp?topic=/Flash_Lite_Developers_Library/GUID-46EABDC1-37CB-412A-ACAD-1A1A9466BB68.html

Se você esta procurando um livre sobre Flash Lite, recomendo Flash Lite 2: Crie Aplicativos e Games para Celulares do meu amigo Fabricio Manzi, creio que seja o único em português que temos 😉

Flash, Flash Lite, Nokia , ,

Leave a Reply