2012-01-03 32 views
6

En mi aplicación, tengo que tomar una dirección de usuario (EE. UU.). El usuario debe ingresar una dirección válida. ¿Cómo puedo conseguir esto? ¿Hay alguna biblioteca que pueda ayudarme con los nombres de estados, ciudades y nombres de calles? Me gustaría utilizar el autotipo si es posible. Leí GeoCoding pero no creo que me ayude ya que el usuario no ingresa la dirección desde la ubicación actual.Validar la entrada de dirección en Android

+0

¿Cuán precisa debe ser la dirección? ¿Es solo código postal y estado, o también necesita nombres de ciudades y direcciones? Tenga en cuenta que el mismo lugar puede tener varias direcciones válidas porque, por ejemplo, una calle puede ser una carretera con un número que también se llama ex: la autopista 10 también se llama st principal, donde atraviesa Springfield. – ethan

+0

Tiene que ser preciso ... ¿Cómo lo hace el dispositivo GPS? Tiene el número de estado, ciudad y calle donde el usuario escribe y luego el GPS encuentra la dirección y se lo muestra al usuario. Si el usuario está de acuerdo, continúa la ruta. Quiero lo mismo. –

Respuesta

0

¿Por qué no validar el código de área? Deberías salvarte haciendo eso.

2

Esto es lo que hago para encontrar una ubicación usando Google API. Tal vez le ayudará a:

 Geocoder geoCoder = new Geocoder(context, Locale.getDefault());  
     try { 
      List<Address> addresses = 
        geoCoder.getFromLocationName(travel.getAddress() + "," + 
      travel.getCity() + "," + travel.getState() + "," + travel.getCountry(), 3); 

      if (addresses.size() > 0) { 
       point = new GeoPoint(
         (int) (addresses.get(0).getLatitude() * 1E6), 
         (int) (addresses.get(0).getLongitude() * 1E6)); 
       travel.setLatitude(String.valueOf(point.getLatitudeE6())); 
       travel.setLatitude(String.valueOf(point.getLongitudeE6())); 
       long res = travel.update(context, null); 
       if (res < 1){ 
        result = false; 
       } 

      }  
     } catch (IOException e) { 
      e.printStackTrace(); 
      result = false; 
     } 
+1

¿Qué es viajar aquí? –

0

Hay varias maneras de limpiar entrada de dirección y para estandarizar en el formato esperado. Pero la única forma real de validar una dirección para garantizar que sea real y correcta es usar un servicio de verificación de dirección.

Estandarizar una dirección se trata de garantizar que las cosas se vean bien, como formatear y estandarizar un número de teléfono o dirección de correo electrónico. Pero tener datos que solo se vean bien no es suficiente. Necesita datos que es bueno. Como ejemplo, ¿aceptaría un pedido si un usuario proporciona una tarjeta de crédito que podría ser bueno? ¿O desea una tarjeta de crédito que es bueno? Es lo mismo con las direcciones. Si está recopilando una dirección, sería bueno saber que es real, entregable y se puede utilizar para su propósito previsto. De lo contrario, solo son datos basura: basura, basura.

Afortunadamente en su caso, debido a que el usuario está en un dispositivo basado en Android, lo más probable es que tengan conectividad a Internet que le permite realizar una consulta a un servicio de verificación de dirección de un tercero. Hay una serie de servicios que proporcionan verificación de domicilio. Soy el fundador de uno llamado SmartyStreets. Nuestra LiveAddress API puede ser lo que estás buscando. Y, dependiendo de su volumen y su negocio, también puede ser completamente gratuito. Si no, no es gran cosa, hay otros servicios que puedes utilizar.

Cuestiones relacionadas