Validación de direcciones mediante la API de Google Maps


Tengo una tarea para validar las direcciones ingresadas en un sistema que estoy creando actualmente. El sistema requiere que la dirección introducida se valide contra una fuente de datos válida. En el Reino Unido, el conjunto de datos proviene de Royal Mail y es costoso de acceder.

Los datos necesarios son información de código postal para toda europa para comenzar con acceso por una API en la aplicación web.

Hay un número de empresas que ofrecen esto servicio,

  1. QAS
  2. Capscan
  3. Código postal en cualquier lugar

Todos estos ofrecen el servicio que requiero. Sin embargo, esto es costoso y en algunos casos no es un conjunto de datos completo. por ejemplo, no Irlanda

También me preguntaba si habría una manera de utilizar la API de Google Maps para validar estos datos a través del código postal y el país.

¿Sería posible el método de Google Maps o tengo que ir por la línea de una de estas costosas compañías? Cualquier pensamiento sobre qué línea debo tomar.

Author: Brad Mace, 2009-03-25

10 answers

La respuesta probablemente depende de lo crítico que sea para usted recibir soporte y una posible personalización para este servicio.

Google ciertamente puede hacer esto. Debería ser capaz de crear un mensaje XML pidiéndole a Google que devuelva las coordenadas del mapa para una dirección determinada. Si la dirección no se encuentra (no es válida), recibirá una respuesta adecuada. Aquí hay una página útil: http://code.google.com/apis/maps/documentation/services.html#XML_Requests

Tenga en cuenta que el objetivo de Google al proporcionar la API de Mapas es trazar direcciones en mapas reales. Si bien es cierto que puede utilizar los datos para otros fines, está a merced de Google si uno de sus mapas no corresponde exactamente a sus necesidades legales o comerciales de validación de direcciones. Si pagó por uno de los servicios que mencionó, es probable que pueda recibir asistencia si ciertas direcciones no resuelve como esperas que lo hagan.

En otras palabras, obtienes lo que pagas;). Si usted tiene el tiempo, sin embargo, ¿por qué no tratar de implementar una solución basada en Google a partir de ahí? La API se ve bastante elegante, y es gratis, después de todo.

 35
Author: AndreiM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-25 21:02:04

La api de geocodificación de Google parece querer que usted quiera, pero desafortunadamente este uso también parece violar los términos de servicio de la api. Específicamente, la estipulación de que no puede

10.12 usar o mostrar el Contenido sin un mapa de Google correspondiente, a menos que sea explícitamente permitido en la documentación de las API de Maps, la API de Street View Documentación, o a través del permiso por escrito de Google (por ejemplo, no debe usar geocódigos obtenido a través del Servicio, excepto en conjunto con un mapa de Google, pero la documentación de la API de Street View le permite mostrar imágenes de Street View sin un mapa de Google correspondiente); o

 30
Author: fgregg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-29 22:35:39

Soy desarrollador web y ex empleado de una de las empresas que mencionaste. Entiendo completamente de dónde vienes. Verificar direcciones parece un problema simple de abordar, pero es un iceberg. Supongo que una solución a las restricciones legales de Google o Yahoo! API de mapas es solicitar a los usuarios verificar sus direcciones en un mapa. Si estuviera en tu lugar, no iría por ese camino.

La razón por la que los servicios de verificación de direcciones son tan costoso es que requieren licencias y relaciones continuas con las autoridades postales gruñonas y burocráticas (incluido el Royal Mail). Desafortunadamente, las autoridades postales son las mejores (y a menudo las únicas) fuentes de datos con las que verificar las direcciones, por lo que realmente no hay ninguna otra manera de hacerlo. La conclusión es que debe sopesar el costo de las direcciones incorrectas (generalmente una cuestión de volumen de correo) contra el costo del software para verificarlas. Los datos postales irlandeses son aún más basura que los formatos postales irlandeses (que con frecuencia omiten los números de edificio), por lo que hay poco que puede hacer sobre esas direcciones.

 23
Author: Adam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-15 06:12:03

Otra opción es YADDRESS.

 5
Author: Usarian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-10 19:15:24

La respuesta depende del grado de confianza que deposite en los datos y de cómo se utilicen. Por ejemplo, si lo estás usando para enviar o enviar, querrás estar seguro de que los datos son correctos. Si solo lo está utilizando como otro mecanismo de prevención de fraude, podría permitir que un grado de error se filtre en los datos.

Si desea algún grado de precisión real, debe elegir un servicio que realice la verificación de direcciones reales y voy a tener que pagar por ello. Como ha sido mencionado por Adam, la verificación y validación de direcciones al principio parece simple y fácil, pero es un agujero negro lleno de desafíos y, a menos que tenga algunos datos subyacentes con los que trabajar, prácticamente imposible de hacer por usted mismo. Confía en mí, en realidad estás ahorrando dinero usando un servicio. Eres bienvenido a ir por este camino para experimentar lo que quiero decir, pero puedo garantizar que verás la luz, por así decirlo, después de incluso unas pocas horas (o días) de haciendo girar tus ruedas.

Debo mencionar que soy el fundador de SmartyStreets. Hacemos validación de direcciones y direcciones de verificación y ofrecemos esto para los EE.UU. y internacional también. Estoy más que feliz de responder personalmente cualquier pregunta que tenga sobre el tema de la limpieza de direcciones, estandarización y validación.

 5
Author: Jonathan Oliver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-16 19:12:50

Valídelo con la api de FedEx. Tienen una API para generar etiquetas a partir de código XML. El proceso implica un paso para validar la dirección.

 2
Author: Alexandre H. Tremblay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-19 20:34:58

Sé que este post es un poco viejo, pero en caso de que alguien lo encuentre todavía relevante, es posible que desee revisar los servicios de geocodificación gratuitos ofrecidos por USC College. Esto incluye validación de direcciones a través de ajax y llamadas estáticas. El único problema es que solicitan un enlace de vuelta y solo ofrecen asignaciones de 2500 llamadas. Más que justo. https://webgis.usc.edu/Services/AddressValidation/Default.aspx

 1
Author: timeless,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-11 19:22:43

Google basis (free) no proporciona verificación de dirección (Geocodificación) ya que no existe una licencia de código postal del Reino Unido.

Esto significa que las búsquedas de código postal son muy precisas. La búsqueda de proximidad es muy pobre, incluso para búsquedas en ciudades, a menudo sin reconocer ubicaciones.

Esta es la razón por la que Google tiene un premier y una solución empresarial que todavía es más caro y no tan bueno como los especialistas en mapas de negocios como bIng y a través de Michelin que también tienen API.

Como un free lance desarrollador, negocio tan serio utilizaría Google como el sistema es débil y realmente proporciona una solución diluida.

 0
Author: Andrew Stacks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-20 08:56:14

Podría considerar el uso de la API PAV-I de CDYNE que valida las direcciones internacionales. international-address-verification Cubren más de 240 países, por lo que debe cubrir todos los países para los que está buscando validar.

 0
Author: Stephanie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-30 03:57:44

Un gran blog que describe 14 buscadores de direcciones: https://www.conversion-uplift.co.uk/free-address-lookup-tools /

Muchos servicios de autocompletado de direcciones, incluida la API de Google Places, parecen ofrecer soporte de direcciones internacionales, pero tiene una precisión limitada.

Por ejemplo, la dirección de Nueva Zelanda y los datos de geolocalización se pueden descargar gratuitamente de Land Information New Zealand (LINZ). Cuando un usuario busca una dirección como 76 Francis St Hauraki de Google o una dirección Doctor, una coincidencia positiva ha sido devuelta. El terreno fue emparejado, pero no la dirección postal/de entrega, que es 76A o 76B. El problema se amplifica con apartamentos y unidades en un solo terreno.

Para una precisión del 100%, use un buscador de direcciones específico del país en su lugar, como https://www.addy.co.nz para autocompletar direcciones NZ.

 0
Author: Strydom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-23 21:35:08