>
: o serviço de localização ou geo-referenciamento de uma localidade. Estes serviços possuem enorme utilidade e podem ser aplicados em diversas aplicações tais como cálculo de rotas, localização de endereços e de veículos, mapeamento de terrenos e produtividade agrícola, localização estratégica de exércitos, dentre outras.
Todo sistema que funciona baseado em informações geográficas, ou geo-referenciado como são chamados, trabalham armazenando e recuperando informações sobre uma localidade. Entende-se localidade como um endereço, um dispositivo ou usuário que possa ter sua localização definida em um par de coordenadas geográficas chamadas de latitude e longitude (lembra de suas aulas de geografia?). De posse das coordenadas geográficas da localidade de um usuário, um programa de computador pode consultar uma base de dados e informar, por exemplo, que próximo a essa localidade existe uma agência bancária ou um posto de gasolina. Sistemas mais sofisticados permitem ainda traçar uma rota ou caminho que ensine ao usuário como chegar a tal agência ou posto desejado.
Existem diversas bases de informação geo-refenciadas voltadas para as mais diversas aplicações. Existem bases que informam localidades de lojas, postos de gasolina, rios, florestas e estradas, etc. Muitas dessas bases de informação têm seu uso restrito ou mesmo protegido, porém há serviços públicos que oferecem informações bastante ricas sobre localidades. Neste artigo vamos abordar um deles, o Microsoft MapPoint, que é um grande banco de dados com informações geo-referenciadas de diversos países, inclusive o Brasil.
Dado esse cenário, iremos explorar neste artigo um pouco desse mundo geo-referenciado e mostrar um dos serviços oferecidos pelo MapPoint. Além disso, mostraremos como podemos usar esses serviços em conjunto com o Visual Studio 2005 para que possamos criar aplicações que possam nos informar onde estamos e para onde devemos ir. Vamos lá.
O Microsoft MapPoint
Construído na tecnologia .NET, o MapPoint oferece um enorme banco de dados de mapas e endereços de diversos países (incluindo o Brasil) e expõe esses serviços através de um web service que possibilita aos desenvolvedores integrar mapas, direções, cálculos de distância, proximidades e outros dados de localização em aplicações, processos de negócios e web sites. Atualmente na versão 4.0, o MapPoint web service possibilita o desenvolvimento de gama de soluções, incluindo aplicações de mapeamento baseadas em browser, serviços de localização para dispositivos móveis e aplicações corporativas enriquecidas com componentes de localização. O MapPoint web service foi criado com base em padrões abertos da internet como XML e SOAP, e inclui uma API que engloba os seguintes serviços:
· Find: fornece classes que podem ser usadas para localizar endereços, entidades geográficas, coordenadas de latitude e longitude e pontos de interesse, bem como analisar endereços e retornar informações de localização de uma coordenada de latitude e longitude específica.
· Render: fornece classes que podem ser usadas para processar mapas de rotas e locais encontrados, marcar pontos com pinos, definir o tamanho e o modo de exibição do mapa, selecionar pontos em um mapa, obter informações de localização sobre os pontos de um mapa, aplicar visão panorâmica e zoom a um mapa processado e criar mapas de imagem.
· Route: fornece classes que podem ser usadas para traçar rotas, trajetos e representações calculadas de rota com base em locais ou pontos ao longo do caminho, definir preferências de segmento e de rota e gerar modos de exibição de mapa dos segmentos e trajetos.
· Common: fornece classes comuns aos serviços Find, Route e Render ou que contêm funções básicas do utilitário.
Antes de começar a trabalhar neste artigo, o leitor deve obter uma licença para poder usar os serviços do MapPoint. Existe uma licença para avaliação que pode ser obtida no endereço http://msdn.microsoft.com/mappoint/. Após o registro, você irá receber um e-mail com instruções de acesso para o serviço. Guarde essas informações, pois iremos usá-las ao longo deste artigo.
Nosso programa
Neste artigo iremos criar um simples programa de entregas, onde o usuário irá receber em seu Smartphone uma lista de locais onde ele deve realizar alguma entrega. Para cada localidade listada, ele poderá obter o mapa da localidade através do serviço do MapPoint. Note que não iremos fazer integração com um GPS, pois isso tornaria nossa aplicação um pouco mais complexa. Isso pode ser assunto para um outro artigo.
O programa de entregas irá obter a lista de localidades através de um web service que irá informar as localidades cadastradas no dia para aquele usuário.
Claro que o MapPoint pode ser utilizado em inúmeras aplicações, como força-de-venda, logística, coleta de dados em campo, etc. Na realidade, pela própria característica de uma aplicação “móvel”, um bom serviço de localização é um recurso muito bem vindo.
Desenvolvimento da aplicação Geo-Referenciada através do VS2005
Neste artigo iremos usar o novo Microsoft Visual Studio 2005, que é a mais nova ferramenta de desenvolvimento da Microsoft e representa o ápice em tecnologias de ambientes de desenvolvimento. Esta ferramenta permite não só criar aplicações para dispositivos móveis rodando Windows Mobile (a versão do Windows para dispositivos móveis), como aplicações para desktop, web, wap, dentre outras. Maiores informações sobre esta ferramenta você encontra diretamente no site da Microsoft através do endereço http://lab.msdn.microsoft.com/vs2005/.
A partir de agora iremos descrever os passos para a construção do exemplo descrito anteriormente. Esses passos são bastante simples, conforme veremos a seguir.
PASSO 1: Inicie o Visual Studio 2005, selecione o menu “File à New à Project” e a janela da Figura 1 se abrirá.
O código exibido neste artigo será feito em C#, mas também é fácil fazê-lo em VB.NET se preferir.
Figura 1. Criando o projeto.
Em seguida, selecione “Visual C#”, e em “Smart Device” selecione “Smartphone Magneto” (Magneto é o codinome do Windows Mobile 5.0). Selecione “Device Application”, informe o nome do projeto (“GeoEntregas” ). Em seguida clique “ok” e o Visual Studio fica como na Figura 2:
Essas são as opções necessárias para a criação de uma aplicação para Smartphones no Visual Studio 2005.
Figura 2. O IDE do Visual Studio 2005 para o nosso projeto.
PASSO 2: Criação dos formulários da aplicação
Nossa aplicação terá dois formulários. O primeiro irá exibir os endereços de onde temos de ir para efetuar as entregas. O segundo irá exibir maiores detalhes sobre a entrega bem como irá recuperar o mapa para o endereço desejado, se o usuário precisar.
O primeiro passo no desenvolvimento da aplicação é construirmos a interface de listagem das localidades de entrega, que irá ficar no “Form1”, que já foi criado automaticamente pelo Visual Studio.
Para isso, selecione o formulário e modifique a propriedade “Text” para “GeoEntregas”. Em seguida adicione um Label e modifique sua propriedade “Text” para “Lista de Entregas”. Depois adicione um “DataGrid” e mude sua propriedade “Name” para “dgEntregas”, a propriedade “Font.Size” para 8 e a propriedade “RowHeadersVisible” para false.
Por default, um menu já vem adicionado no formulário. Selecione o controle e crie um menu simples, conforme a Figura 3. Procure arranjar os controles e colocá-los no formulário de forma que fique parecido com o mostrado nessa figura.
Figura 3. A aparência final de nosso primeiro formulário.
Agora, dê um duplo clique no item de menu “Sair” e insira o código da Listagem 1, que simplesmente fecha o formulário encerrando a aplicação.
Listagem 1. Código chamado quando o item de menu “Sair” é selecionado.
...