Google Maps e ASP.NET – Marcando pontos no mapa

12/11/2009 in Hacks, Tips and Tricks

Algum tempo atrás, ensinei como construir mapas no ASP.NET usando o Google Maps. Agora vou ensinar como fazer com que sua aplicação saiba qual foi o ponto do mapa clicado pelo usuário.

Na verdade isso é bem simples de ser feito. E pode servir perfeitamente para sua aplicação, caso o usuário tenha que interagir com a aplicação para cadastrar uma nova localidade por exemplo.

Vamos levar em conta o seguinte cenário: Um usuário vai selecionar um ponto no mapa e os valores de latitude e longitude desse ponto, irão automaticamente preencher as caixas de texto com as respectivas informações.

Supondo que tenhamos 2 textboxs com os nomes, txtLatitude e txtLongitude como no código abaixo.

<asp:TextBox ID=”txtLatitude” runat=”server”></asp:TextBox>

<asp:TextBox ID=”txtLongitude” runat=”server”></asp:TextBox>

Se você já leu o artigo anterior que ensina como construir o mapa, sabe que teremos um um controle do Google Maps mais ou menos assim:

<artem:GoogleMap ID=”GMaps” runat=”server” OnClientClick=”__showInfo” ></artem:GoogleMap>

A diferença entre esse controle e o que foi falado no artigo anterior, é o evento de OnClientClick. Fazendo isso, estamos dizendo que um javascript chamado “__showInfo()” será executado quando ocorrer algum click por parte do usuário.

Agora, tudo que você precisa é adicionar esse script a sua pagina.

<script type=”text/javascript”>
function __showInfo(overlay, point) {
if (point) {
var infoLatitude = document.getElementById(‘<%= txtLatitude.ClientID %>’);
infoLatitude.value = point.lat();
var infoLongitude = document.getElementById(‘<%= txtLongitude.ClientID %>’);
infoLongitude.value = point.lng();
}
}
</script>

Nesse script, estamos capturando os valores da latitude e longitude  clicados no mapa e atribuindo aos textboxs.

A sintaxe do código abaixo pode parecer estranha para alguns, mas em tempo de execução o ASP.NET irá substituir o valor “<%= txtLatitude.ClientID %>” pelo ID da caixa de texto de latitude.

document.getElementById(‘<%= txtLatitude.ClientID %>’)

Acho que agora você já é capaz de montar sua própria pagina de cadastro de localidades usando o google maps. Qualquer duvida, basta deixar um comentário ou enviar um e-mail.

1 response to Google Maps e ASP.NET – Marcando pontos no mapa

  1. Bruno said on 29/11/2009

    Bom dia

    gostei da dica porem se eu tiver apenas o endereço
    do local como eu acho a latitude e longitude

    por favor preciso disso pra um trabalho la da empresa.se poder me mandar um mail esplicando
    ficarei muito grato

    BrunoBaudel

Leave a reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 

You need to log in to vote

The blog owner requires users to be logged in to be able to vote for this post.

Alternatively, if you do not have an account yet you can create one here.

Powered by Vote It Up