Este artigo fornece ao desenvolvedor uma alternativa tanto de construção de aplicações baseadas em localização quanto a utilização de mapas e criação de camadas adicionais – Overlays – que permitem dar mais expressividade gráfica para as aplicações móveis em Android.

Quando o usuário final precisa realizar determinada ação que pode ser facilitada se utilizadas aplicações que estejam enquadradas no contexto de serviços baseados em localização, como guias para rotas, descoberta de serviços disponíveis em determinada localidade (como farmácias, restaurantes, pizzarias e outros) etc.

Os serviços baseados em localização (location-based services) têm se tornado umas das funcionalidades mais interessantes no contexto de serviços disponíveis para dispositivos móveis. Um exemplo bem prático são os receptores GPS (Global Positioning System) que exibem ao usuário a rota a ser percorrida de uma localidade para outra ou mostram um conjunto de serviços (farmácias, restaurantes, pizzarias etc.) disponíveis em uma determinada posição geográfica ou em uma localidade próxima, sendo que, na maioria das vezes, essas localizações são visualizadas por meio de mapas. E alguns smartphones já estão sendo fabricados e integrados com GPS (um exemplo é o N95 da gigante finlandesa Nokia). E uma das inúmeras inovações na plataforma Android é a total integração destes dois componentes: localização e mapas, sendo este segundo representado pelo Google Maps em sua versão para Android.

Este artigo tem como objetivo explicar as funcionalidades do Google Maps disponíveis na versão móvel, as APIs de Mapas e de Localização. Para isso, o leitor aprenderá por meio de um exemplo prático como criar uma aplicação que permite visualizar uma lista de seus contatos e suas respectivas localizações no mapa por meio do componente Overlay.

Google Maps no Android

O Google Maps é talvez um dos serviços de mapas mais utilizados no globo terrestre. Isso é facilmente explicado quando realizamos, por exemplo, uma simples busca de uma localidade ou caso desejemos saber qual a rota a ser seguida entre duas localidades. As facilidades que o serviço disponibiliza para nós usuários são enormes.

Este serviço já tão comum na Web agora está disponível na plataforma Android, com algumas restrições impostas pelos limites dos dispositivos móveis, porém não comprometendo as principais funcionalidades oferecidas pelo Google Maps embutido. E ele pode ser acessado, estando na tela principal do emulador (caso não esteja, clique no botão Home, representado pelo ícone de uma casa), clicando no botão “All”, depois em “Maps” (foi utilizado o próprio emulador do Android - Android Emulator – para realizar a emulação. Este pode ser carregado quando se roda uma aplicação em Android ou clicando no executável emulator.exe que se encontra dentro da pasta bin/ a partir do diretório raiz do SDK da plataforma). A Figura 1 mostra como o Google Maps é visualizado na tela do emulador.

Google Maps com as suas principais funcionalidades
Figura 1. Google Maps com as suas principais funcionalidades

Com Google Maps carregado, podemos conferir suas funcionalidades clicando no Botão “Menu” ao centro do emulador. As opções disponíveis são: Search, Directions, Layers, About e Zoom. A primeira (Figura 2) permite que uma determinada (ou ocorrências aproximadas) localidade seja pesquisada clicando em Go. A segunda (Figura 3) permite exibir a rota a ser percorrida de acordo com uma localidade de origem e destino. Caso um resultado seja obtido, serão mostrados também a distância (em Km) e o tempo do percurso. Clicando em “Edit”, voltamos para a tela de definição de direções e em “Show Map”, a rota (linha azul) é mostrada no mapa (Figura 4). A terceira (Figura 5) permite ativar ou a camada de satélite (Sattelite) ou a de tráfego (Traffic). A quarta mostra apenas os créditos do Google Maps. E a quinta (Figura 6) permite configurar o nível de zoom do mapa, no qual clicando em + obtém-se uma visão mais aproximada e clicando em -, uma visão mais afastada (o mesmo efeito ocorre se realizarmos um clique prolongado no mapa).

Pesquisando uma localidade
Figura 2. Pesquisando uma localidade
Obtendo direções de um local para outro
Figura 3. Obtendo direções de um local para outro
Mostrando a rota no mapa
Figura 4. Mostrando a rota no mapa
Alterando o modo de camada
Figura 5. Alterando o modo de camada
Alterando níveis de zoom
Figura 6.Alterando níveis de zoom

API de mapas

Quando se constrói uma aplicação que utiliza mapas em Android, as principais funcionalidades do Google Maps, como foram mostradas anteriormente, não estão disponíveis por padrão (acessadas por meio do botão Menu). Para isso, Android dispõe de uma API que permite integrar estas e outras funcionalidades em sua aplicação que utiliza mapas. Ela é representada pelo pacote com.google.android.maps e seus principais componentes (existem também outros componentes nesse pacote, mas não serão abordados neste artigo, ficando como exercício para o leitor estudá-las e utilizá-las) são mostrados na Figura 7.

Principais componentes da API de Mapas
Figura 7. Principais componentes da API de Mapas

O componente MapView é a própria representação de um mapa. Permite que eventos de pressionamento de teclas sejam percebidos para poder realizar movimentos e mudar o nível de zoom. O outro componente, MapActivity, é um tipo de Activity utilizado estritamente para visualizar MapViews, sendo que a aplicação não rodará para outros tipos de Activities ( ...

Quer ler esse conteúdo completo? Tenha acesso completo