martes, 18 de septiembre de 2012

API Google Maps y Visual Basic.NET. Parte II. Buscar latitud longitud

En la anterior entrega hemos trabajado con Google Maps a través de peticiones URL, y a partir de una dirección postal, hemos visualizado en el mapa dicha dirección. En la entrega de hoy vamos a trabajar con peticiones URL pero en vez de direcciones, directamente con latitud y longitud.
Antes de mostrar el código, vamos a ver cómo hacer peticiones URL para mostrar latitud/longitud:
http://maps.google.es/maps?q=latitud,longitud&output=embed
Ejemplificando:

Como podemos observar, simplemente debemos escribir http://maps.google.es/maps?q= y el valor de la latitud y longitud (separado por comas), y al final la sentencia &output=embed para que se muestre el mapa a pantalla completa.
Vamos a retomar el  proyecto anterior (lo puedes descargar aquí), y vamos a añadir dos Textbox (txtlatitud y txtlongitud), dos Labels, y un botón más.


Hacemos doble clic sobre el botón e introducimos el siguiente código:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'Creamos variable para almacenar la url
        Dim urlMaps As String
        'Comprobamos que los textbox sean números
        If IsNumeric(txtlatitud.Text) And IsNumeric(txtlongitud.Text) Then
            'Concatenamos la latitud y longitud (separada por una coma) con el resto
            urlMaps = "http://maps.google.es/maps?q=" & txtlatitud.Text & "," & txtlongitud.Text & "&output=embed"
            'Creamos una variable direccion para que el WebBrowser lo pueda abrir puesto que no puede abrir directamente un string
            Dim direccion As New Uri(urlMaps)
            'ASignamos como URL la direccion
            WebBrowser1.Url = direccion
        End If
End Sub
Y el resultado es el siguiente:


Como vemos es todo muy sencillo, en la próxima entrada vamos a complicarlo un poco más y vamos a empezar a utilizar el API de Google Maps para encontrar la dirección a partir de una determinada latitud/longitud mediante peticiones xml.
Toda la información sobre el API de Google Maps aquí.
Pulsa en la imagen inferior para descargar el código.

8 comentarios:

  1. Ooo eso esta bien lo que me gustaria saber es como poner marcadores propios como para saber las busquedas que se han exo???

    ResponderEliminar
    Respuestas
    1. Puedes poner marcadores en imágenes estáticas o bien utilizar el api de javascript

      Eliminar
  2. mmm pero entoncs no seria lo mismo en Vb.NET

    ResponderEliminar
    Respuestas
    1. No tengo claro que en Visual Basic se pueda hacer sin ser imágenes estáticas... echa un vistazo a la web de google
      https://developers.google.com/maps/?hl=es

      Eliminar
    2. Como te digo, en imágenes estáticas sí se pueden poner marcadores https://developers.google.com/maps/documentation/staticmaps/?hl=es

      Eliminar
    3. aaa bueno ta biennn ta bien Gracias buena onda voi a intentarlo asii!!

      Eliminar
  3. me gustaria hacer un mapa y que este contenga varios semaforos. que puedan prender y apagar localizados con latitud y longitud.. alguien me puede ayudar janero89@hotmail.com

    ResponderEliminar
  4. Cuando busco una direccion me tira varios popup diciendo: Error de script
    protype es nulo, se esperaba un objeto, el objeto no acepta esta propiedad o método.. será por la vieja version del visual?

    ResponderEliminar