Como se puede observar al hacer la petición, hay un campo en el que se incluye el código postal. Este campo está localizado en una etiqueta denominada postal_code que se encuentra dentro de otra etiqueta llamada address_component.
Petición: http://maps.googleapis.com/maps/api/geocode/xml?address=Puerta%20del%20Sol,%20Madrid®ion=es&sensor=false&language=es
![]() |
Código postal en archivo XML |
El siguiente paso es crear una función que genere la petición HTTP, lea los contenidos del archivo XML y devuelva el código postal.
'La función devuelve un arraylist en el que la primera posición es el código postal, y la segunda la dirección encontrada Private Function CodigoPostal(ByVal direccion As String, Optional ByVal regionBusqueda As String = "es") As ArrayList 'Creamos la url con los datos Dim url = "http://maps.googleapis.com/maps/api/geocode/xml?address=" & direccion & "®ion=" & regionBusqueda & "&sensor=false&language=es" 'Cadena que contendrá el código postal y la dirección encontrada 'Y le damos valores iniciales Dim DatosRetorno As New ArrayList DatosRetorno.Add("No encontrado código postal. Sea más específico (indique calle, plaza, etc.).") DatosRetorno.Add("No se ha encontrado localización") 'Creamos una petición http y asignamos un tiempo máximo de espera de 3000 milisegundos Dim req As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest) req.Timeout = 3000 Try 'Preparamos el archivo xml Dim res As System.Net.WebResponse = req.GetResponse() Dim responseStream As Stream = res.GetResponseStream() Dim NodeIter As XPathNodeIterator Dim docNav As New XPathDocument(responseStream) Dim nav = docNav.CreateNavigator 'Creamos los paths Dim Exadress As String = "/GeocodeResponse/result/address_component" Dim ExDireccion As String = "GeocodeResponse/result/formatted_address" 'Recorremos el xml buscando el código postal NodeIter = nav.Select(Exadress) While (NodeIter.MoveNext()) 'Busca un campo donde ponga postal_code If NodeIter.Current.Value.Contains("postal_code") Then 'Se extraen los caracteres correspondientes la código postal DatosRetorno(0) = NodeIter.Current.Value.Substring(0, 5) Exit While End If End While 'Recorremos el xml buscando la dirección NodeIter = nav.Select(ExDireccion) While (NodeIter.MoveNext()) DatosRetorno(1) = NodeIter.Current.Value Exit While End While 'cerramos el response responseStream.Close() Catch ex As Exception 'En caso de haber error DatosRetorno(0) = "Algo ha ocurrido, inténtelo más tarde" DatosRetorno(1) = "Algo ha ocurrido, inténtelo más tarde" End Try 'Se retorna el código postal y la dirección encontrada Return DatosRetorno End FunctionEn resumen, la función recibe un primer parámetro que incluye la dirección de donde se quiere buscar el código postal, y otro parámetro opcional que recibe la región. A partir de estos dos parámetros crea la url y busca el código postal (si lo hay) y la dirección encontrada. Tanto código postal como dirección encontrada, son almacenados en un arraylist, siendo el código postal el primer campo y la dirección el segundo.
Ahora crearemos un pequeño formulario como el que vemos a continuación.
![]() |
Formulario de la aplicación |
Ahora, al evento clic del botón, le vamos a asignar el siguiente código.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'Comprobamos que hay texto If txtdireccion.Text <> "" Then 'ASignamos a la variable CódigoP el valor devuelto por la función Dim CodigoP As New ArrayList(CodigoPostal(txtdireccion.Text)) txtCodigoPostal.Text = CodigoP(0) txtDireccionEncontrada.Text = CodigoP(1) End If End SubEjecutamos el programa y, si la dirección es lo suficientemente específica, nos devolverá el código postal.
![]() |
Formulario después de búsqueda |
Descarga la aplicación desde aquí:
ei man yo soy medio bobo pero se ve interesante tu trabajo y bueno es demasiado para mi yo quiero dar click en el google maps y que me diga que codigo postal es, se puede hacer eso?
ResponderEliminarEso se podrá hacer con el API de Javascript
EliminarTengo mi tarjeta de cajero automático ya programado y cubierta de
ResponderEliminarretirar el máximo de $ 50,000 al día durante un máximo de 20
días. Estoy muy feliz por esto porque yo tengo la mía la semana pasada
y lo he utilizado para obtener $ 100,000.Mr Harry está dando la
la tarjeta sólo para ayudar a los pobres y necesitan a pesar de que es ilegal pero
es algo agradable y no es como pretender otra estafa
tener las tarjetas de cajero automático en blanco. Y nadie se ve atrapado cuando
el uso de la tarjeta. obtener el suyo de él. Sólo le envíe un correo electrónico
en harrylugard190@gmail.com
HAGA RICO CON EL USO DE TARJETA ATM EN BLANCO DE
ResponderEliminar(besthackersworld58@gmail.com)
¿Alguien ha oído hablar de la tarjeta de cajero automático en blanco? Una tarjeta de cajero automático que le permite retirar efectivo de cualquier cajero automático del mundo. No se requiere nombre, no se requiere dirección y no se requiere cuenta bancaria. La tarjeta Atm ya está programada para dispensar efectivo desde cualquier cajero automático en todo el mundo. Escuché sobre esta tarjeta de cajero automático en línea, pero al principio no le presté atención porque todo parece demasiado bueno para ser verdad, pero estaba convencido y sorprendido cuando mi amigo en mi lugar de trabajo obtuvo la tarjeta del proveedor de la tarjeta de cajero automático de garantía. Ambos fuimos al centro de cajeros automáticos y confirmamos que realmente funciona, sin demora lo probé. Desde entonces, he estado retirando de $ 1,500 a $ 5,000 diariamente de la tarjeta de cajero automático en blanco y esta tarjeta realmente ha cambiado mi vida financieramente. Acabo de comprar un coche caro y estoy pensando en comprarme una casa. Para aquellos interesados en ganar dinero rápido deben contactarlos en: Dirección de correo electrónico: besthackersworld58@gmail.com o WhatsApp él en +1 (323) -723-2568