domingo, 17 de agosto de 2008

Controle ASP.NET para Google Maps

O Google possui uma API para desenvolvedores onde fornece várias funcionalidades como o Google Maps. A documentação do Google Maps pode ser vista neste endereço http://code.google.com/apis/maps/documentation/index.html onde temos acesso a informações como como termos de uso e sobre a necessidade de se criar uma chave para cada diretório de site que for usar o Google Maps.

A chave pode ser criada neste endereço e neste temos acesso aos termos para uso do serviço. O Google representa uma instância do mapa como o objeto GMap. Uma vez com esta instância é possível adicionar vários controles como o GMapType, onde é possível definir o tipo de visualização do mapa. É possível utilizar dos controles já existentes ou criar controles próprios, abaixo segue a lista de controles existentes:
  • GLargeMapControl - grande controle de zoom e rolagem.
  • GSmallMapControl - pequeno controle de zoom e rolagem.
  • GSmallZoomControl - pequeno control de zoom(sem rolagem).
  • GScaleControl - mapa de escala.
  • GMapTypeControl - botões que permitem usuários trocarem entre diferentes visualizações de mapa(Como mapa e satélite).
  • GHierarchicalMapTypeControl - botões e menus para localizar vários tipos de selecionadores do mapa.
  • GOverviewMapControl - uma visão geral do mapa que pode ser expandido ou fechado.
O Google Maps também tem o conceito de overlay, que são objetos no mapa definidos para coordenadas de latitudes e longitudes. Há vários tipos de overlays:
  • Makers - são pontos no mapa e algumas vezes mostram ícones customizados. Markers são do tipo GMarker e podem usar o tipo GIcon
  • Polylines - são linhas no mapa, representando uma coleção de pontos. São do tipo GPolyline.
  • Polygons - são áreas no mapa que mostram áreas arbritrárias. Similar ao Polylines, só que consiste em uma coleção de pontos que são fechados.
  • Title overlay - o mapa é representando com o title overlay. Podemos modificar este com nosso próprio conjunto de títulos usando o GTitleLayerOverlay ou criando um GMapType.
  • Info window - é um tipo especial de overlay. Este é adicionado ao mapa automaticamente é só pode haver um objeto do tipo GInfoWindow anexado ao mapa.
Entendendo o funcionamento do Google Maps com o javascript existem implementações de controles de ASP.NET onde foi feito um controle(wrapper) que facilita o uso desta funcionalidade utilizando .net muitas vezes no lugar do javascript.

Um exemplo desta implementação é este:
http://dotnet.sys-con.com/node/171162

Para baixar os fontes do controle basta ir neste endereço:
http://gemsres.com/story/jan06/171162/source.html

Referências:
http://code.google.com/apis/maps/documentation/controls.html
http://code.google.com/apis/maps/documentation/overlays.html
http://weblogs.asp.net/scottgu/archive/2006/01/22/436166.aspx
http://www.codeproject.com/KB/custom-controls/LatLaysFlat-Part1.aspx
http://dotnet.sys-con.com/node/171162