Archived:Mostrando a localização GPS utilizando as imagens do Google Maps no Flash Lite
Não recomendamos o desenvolvimento em Flash Lite para aparelhos atuais da Nokia. Todos os artigos relacionados a Flash Lite foram arquivados. A plataforma Nokia Asha e os aparelhos recentes S40 não possuem mais o Flash Lite. O uso de Flash Lite em Symbian é limitado. Por exemplo, informações relativas à plataforma Nokia Belle podem ser encontradas neste link (em Inglês). Informações específicas de Flash Lite para aparelhos S40 ANTIGOS e Symbian podem ser encontradas na Flash Lite Developers Library (em Inglês).
Dados do artigo
Exemplo de código
Compatibilidade
Artigo
--edprado 17:22, 20 April 2010 (UTC)
Original: Displaying GPS position using Google Maps images in Flash Lite (Inglês)
Este artigo explica como mostrar a posição atual do telefone baseado no GPS Flash Lite, KuneriLite e Google Static Maps.
Contents |
Pré-requisitos
Consiga o seu próprio serial do Google Maps API
NOTA: A utilização deste código com a Google Maps API grátis quebra os termos da Google Terms and Conditions (section 10.8). Você deverá comprar uma licença Enterprise se você deseja usar a Google Maps API que é mostrado neste exemplo.
Para utilizar os serviços do Google Maps, você precisa de um serial. Se você não tiver um, você pode cadastrar-se e consegui-la aqui: http://code.google.com/apis/maps/signup.html
Baixar e Instalar o KuneriLite
KuneriLite é um conjunto de ferramentas (toolkit) que complementa as funcionalidades do Flash Lite, permitindo que as aplicações acessem nativamente as funcionalidades do Symbian OS, como escrita de arquivos e leitura de informações do GPS.
Para continuar com este tutorial, baixe e instale o KuneriLite : KuneriLite Página para Download.
Flash Lite
Criando um aplicação em Flash Lite
Neste exemplo, é utilizado o Flash Lite 2.1. Entretanto, adaptá-lo para versões mais novas ou antigas não será difícil. vvocê terá que criar um Movieclip em branco, como explicado a seguir:
- Crie um botão indo em Insert > New Symbol... e adicione estas propriedades:
- Digite GpsButton no campo nome(name).
- Marque as caixas de verficação(checkbox) Export for ActionScript e Export in first frame .
- Desenho de um botão. Você pode, por exemplo, adicionar um rótulo(label) "Find me!" sobre ele.
- Depois de você ter desenhado o botão, coloque-o no palco(Stage) na parte inferior e dê o nome de sua instância(Instance name) como startButton.
Código ActionScript
No Movieclip principal, crie um nova camada(layer) chamada Actions e abra o editor de código ActionScript(pressione F9 no teclado). Primeiro, defina as propriedades:
// Digite o serial da API aqui
var apiKey = 'serial';
//Se você usa a versão grátis, não comercial, do KuneriLite, você não precisa alterar este instrução abaixo
var kuneriPath = 'http://127.0.0.1:1001/Basic/';
A seguir, é interessante mostrar algumas funções muito úteis que são utilizadas no código:
//Esta função é chamada quando ocorre algum erro no KuneriLite
function kuneriError(error:String)
{
trace("Erro no KuneriLite: " + error);
}
//Esta função fará todas as chamadas ao servidores KuneriLite
//e chamará o handler passando a resposta como argumento
function kuneriLoad(url, handler)
{
var loader:LoadVars = new LoadVars();
loader.onLoad = function()
{
handler(this);
}
trace("Carregando: " + url);
loader.load(url);
}
Depois, adiciona-se a lógica do botão. Quando o usuário pressionar o startButton, a aplicação deverá:
- Iniciar o GPS.
- Obter a posição atual do GPS.
- Exibir um mapa centralizado de acordo com a posição do GPS.
Para conseguir mais informações sobre o KuneriLite GPS plug-in, verifique esta página: http://wiki.kunerilite.net/index.php?title=GPS_plugin o GPS é iniciado quando o gpsButton é pressionado, usando o start klCommand:
startButton.onPress = function()
{
kuneriLoad(kuneriPath + 'GPS?klCommand=start', gpsStarted);
}
function gpsStarted(res:LoadVars)
{
if(res.klError == 0 || res.klError == -11)
{
trace("GPS iniciado");
kuneriLoad(kuneriPath + 'GPS?klCommand=read', gpsDataRead);
}
else
{
kuneriError("Erro na inicialização do GPS");
}
}
O gpsStarted() tem como finalidade:
- Verificar se não existem erros (klError = 0) ou se o GPS já foi inicializado (kdError = -11). Para visualizar a lista completa de erros associados com o GPS plug-in, confira neste site: http://wiki.kunerilite.net/index.php?title=GPS_plugin
- Se ocorrer um erro na inicialização do GPS, chame o kuneriError() função definida acima.
- Se o GPS for iniciado corretamente, ele fará duas chamadas ao KuneriLite, na primeira ele obterá a posição atual do GPS (klCommand=read) a segunda chamada ao KuneriLite chamará o handler(manipulador) gpsDataRead() definido abaixo:
function gpsDataRead(res:LoadVars)
{
if(res.klError == 0)
{
var lat = res.klPosLatitude;
var lng = res.klPosLongitude;
trace("posição: " + lat + ", " + lng);
loadMap(lat, lng);
}
else
{
kuneriError("Erro ao iniciar o GPS!");
}
}
Este handler, acima, verifica se existe algum erro lançado pelo KuneriLite se não, obtém as coordenadas de latitude e longitude a partir das propriedades klPosLatitude e klPosLongitude. Depois disto, é chamado a função loadMap() que carrega uma imagem de um mapa estático.
function loadMap(lat:Number, lng:Number)
{
var mapClip:MovieClip = _root.createEmptyMovieClip('mapClip', _root.getNextHighestDepth());
mapClip._x = 0;
mapClip._y = 0;
var mapWidth = 240;
var mapHeight = 280;
var loader:MovieClipLoader = new MovieClipLoader();
var mapUrl:String = 'http://maps.google.com/staticmap?center=' +
lat + ',' + lng + '&format=jpg&zoom=8&size=' +
mapWidth + 'x' + mapHeight + '&key=' + apiKey;
loader.loadClip(mapUrl, mapClip);
}
A função acima:
- Adiciona um MovieClip em branco ao Stage.
- Coloca-o na coordenada (0,0).
- Usa um MovieClipLoader para carregar uma imagem de 240x280 pixels no formato JPEG dentro do mapClip. Depois disto, você pode testar a sua aplicação.
Teste a sua aplicação em Flash Lite
Teste no PC
Para testar sua aplicação sem implantá-la em um dispositivo real:
- Inicie o KuneriLite emulator com as configurações padrão (porta: 1001, chave: Basic ).
- Inicie sua aplicação em Flash Lite.
- Pressione Find Me! e espere que até que a imagem seja carregada(a posição GPS não é real quando testado no emulador).
Para maiores informações sobre o emulador do KuneriLite, veja em KuneriLite Emulator
Teste no dispositivo real
Para testar a sua aplicação no dispositivo real, empacote a sua aplicação em um arquivo .sis utilizando o KuneriLite Wizard:
- Exporte a sua Aplicação em Flash Lite.
- Cria um novo projeto KuneriLite.
- Digite o nome da aplicação e outras informações. Selecione GPS como plugins disponíveis(available plug-ins).
- Selecione a opção "Use external player" se você está desenvolvendo para o Flash Player 2.x ou 3.x.
- É também recomendado que você sempre selecione a opção "Use stub" .
- Selecione o arquivo .swf exportado como projeto Main SWF.
Para maiores informações sobre o KuneriLite Wizard, veja este site: KuneriLite Wizard Beginner's Guide.
Recursos
- O arquivo .fla deste tutorial está disponível para download aqui: Media:KuneriGpsMap.zip
- Para mais informações sobre a utilização do Google Maps em aplicações para dispositivos móveis, leia este artigo: Como usar os dados do Google Maps em aplicações móveis






(no comments yet)