2012-11-26 33 views
5

Tôi cần định dạng địa chỉ bưu chính thành định dạng của quốc gia và đang tìm kiếm một số thư viện PHP có thể thực hiện điều đó. Tôi làm việc với khung công tác zend 2 sử dụng Locale nhưng tiếc là dường như không thể xử lý điều này vào lúc này.Tôi nên sử dụng gì để định dạng địa chỉ bưu điện theo định dạng của quốc gia địa chỉ

examples 

NL RECIPIENT 
     STREET_NAME HOUSE_NUMBER 
     POSTAL_CODE LOCALITY 
     COUNTRY 

US RECIPIENT 
     HOUSE_NUMBER STREET_NAME [STREET_TYPE] [STREET_DIRECTION] [BUILDING] [FLOOR] [APARTMENT] 
     LOCALITY PROVINCE_ABBREVIATION POSTAL_CODE 
     COUNTRY 

UK RECIPIENT 
     [FLOOR] [APARTMENT] 
     [BUILDING] 
     [HOUSE_NUMBER] STREET_NAME 
     [DEPENDENT_LOCALITY] 
     LOCALITY 
     POSTAL_CODE 

(nguồn http://www.addressdoctor.com/en/countries-data/address-formats.html)

Trả lời

1

tôi đã phải đối mặt với cùng một vấn đề trong khi làm cho một trang web quốc tế.

Giải pháp là in chuỗi được tạo thành từ tất cả các phần được nối của địa chỉ và khi có thể, hãy sử dụng API Google Map để định dạng đúng địa chỉ.

var g = new google.maps.Geocoder(); 

function format_address(raw_address) { 

    g.geocode({address: raw_address}, function (a, status) { 


     if (status === "OK") { 

      var splt = a[0].formatted_address.split(new RegExp(",", "g")); 

      var i = 0; 
      var res = ""; 


      for(i = 0; i < splt.length-1; i++) 
       res += $.trim(splt[i]) + '<br/>'; 

      res += $.trim(splt[splt.length-1]); 




      $('#address').html(res); 
     } 
     else if (status == "OVER_QUERY_LIMIT") { 

        //wait 500ms and try again 

     } 
     else { 
      $('#address').(raw_adress); 

     } 
    }); 
} 
+0

Thật không may điều này chỉ làm việc phía khách hàng ... – pouer

+0

Nó không hoàn hảo, nhưng tôi đoán điều này sẽ làm việc ... Lưu ý rằng Geocoder cũng được triển khai bằng nhiều ngôn ngữ được sử dụng ở phía máy chủ. (trong giới hạn 1000 lượt truy cập mỗi ngày, tôi tin) – bas

+2

Và bạn phải hiển thị Google Map để sử dụng dịch vụ của họ, theo TOS của họ. – Matt

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