2012-01-03 34 views
6

Trong ứng dụng của tôi, tôi phải ghi địa chỉ người dùng (Hoa Kỳ). Người dùng cần nhập địa chỉ hợp lệ. Làm thế nào tôi có thể đạt được điều này? Có thư viện nào có thể giúp tôi với tên của các tiểu bang, thành phố và tên đường phố không? Tôi muốn sử dụng kiểu tự động nếu có thể. Tôi đọc GeoCoding nhưng tôi không nghĩ rằng nó sẽ giúp tôi khi người dùng không nhập địa chỉ từ vị trí hiện tại.Xác thực nhập địa chỉ trong Android

+0

Địa chỉ cần phải chính xác như thế nào? Có phải chỉ là mã zip và tiểu bang hay bạn cũng cần tên thành phố và địa chỉ đường phố. Hãy nhớ rằng cùng một địa điểm có thể có nhiều địa chỉ hợp lệ bởi vì, ví dụ, một con đường có thể là một đường cao tốc với một số được đặt tên cũ: đường cao tốc 10 cũng được gọi là đường chính nơi nó chạy qua Springfield. – ethan

+0

Nó cần phải được chính xác .. Làm thế nào thiết bị GPS hiện nó? Đô thị này có nhà nước, thành phố và số đường phố nơi người dùng gõ vào và sau đó gps tìm địa chỉ và hiển thị nó cho người dùng. Nếu người dùng đồng ý hơn là tiếp tục tìm tuyến đường. Tôi muốn điều tương tự. –

Trả lời

0

Tại sao không xác thực mã vùng? Bạn nên được cứu bằng cách làm điều đó.

2

Đây là những gì tôi làm để tìm vị trí bằng API Google. Có thể nó sẽ giúp bạn:

 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

du lịch ở đây là gì? –

0

Có nhiều cách khác nhau để xóa đầu vào địa chỉ và chuẩn hóa nó thành định dạng mong muốn. Nhưng cách thực sự duy nhất để xác thực địa chỉ để đảm bảo rằng cả địa chỉ thực và chính xác là sử dụng dịch vụ xác minh địa chỉ.

Chuẩn hóa địa chỉ là tất cả về việc đảm bảo mọi thứ trông đẹp - như định dạng và chuẩn hóa số điện thoại hoặc địa chỉ email. Nhưng có dữ liệu chỉ có vẻ tốt là không đủ. Bạn cần dữ liệu tốt. Ví dụ: bạn có chấp nhận đơn đặt hàng nếu người dùng cung cấp thẻ tín dụng có thể là không? Hoặc bạn có muốn một thẻ tín dụng không? Nó giống với địa chỉ. Nếu bạn đang thu thập một địa chỉ, chắc chắn sẽ rất tuyệt khi biết rằng đó là địa chỉ thực, có thể phân phối và có thể được sử dụng cho mục đích của bạn. Nếu không, nó chỉ là dữ liệu rác - rác trong, rác ra.

May mắn thay trong trường hợp của bạn, vì người dùng đang sử dụng thiết bị chạy trên nền tảng Android, họ sẽ có khả năng kết nối internet cho phép bạn thực hiện truy vấn đến dịch vụ xác minh địa chỉ bên thứ ba. Có một số dịch vụ ngoài đó cung cấp xác minh địa chỉ đường phố. Tôi là người sáng lập của một được gọi là SmartyStreets. LiveAddress API của chúng tôi có thể chỉ là những gì bạn đang tìm kiếm. Và, tùy thuộc vào khối lượng và doanh nghiệp của bạn, nó cũng có thể hoàn toàn miễn phí. Nếu không, không có vấn đề lớn, có những dịch vụ khác ra khỏi đó mà bạn có thể sử dụng.

Các vấn đề liên quan