2012-03-14 2 views

답변

12

Google이 도와 드릴 수 있습니다!

https://developers.google.com/maps/documentation/geocoding/

우편

실제로 구글 "우편 _ 번호"라고합니다. 예를 들어

"long_name": "94043", 
    "short_name": "94043", 
    "types": postal_code 

,의 당신이 클락 스톤, MI에 대한 우편 번호를 얻을하고 싶은 말은하자가 ...

http://maps.googleapis.com/maps/api/geocode/json?address=Clarkston+MI&sensor=true

이 반환

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "Clarkston", 
       "short_name" : "Clarkston", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Oakland", 
       "short_name" : "Oakland", 
       "types" : [ "administrative_area_level_2", "political" ] 
      }, 
      { 
       "long_name" : "Michigan", 
       "short_name" : "MI", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "United States", 
       "short_name" : "US", 
       "types" : [ "country", "political" ] 
      }, 
      { 
       "long_name" : "48346", 
       "short_name" : "48346", 
       "types" : [ "postal_code" ] 
      } 
     ], 
     "formatted_address" : "Clarkston, MI 48346, USA", 
     "geometry" : { 
      "bounds" : { 
       "northeast" : { 
        "lat" : 42.7418310, 
        "lng" : -83.41402409999999 
       }, 
       "southwest" : { 
        "lat" : 42.7252370, 
        "lng" : -83.42880730000002 
       } 
      }, 
      "location" : { 
       "lat" : 42.73511960, 
       "lng" : -83.41929410 
      }, 
      "location_type" : "APPROXIMATE", 
      "viewport" : { 
       "northeast" : { 
        "lat" : 42.74331460, 
        "lng" : -83.40328670 
       }, 
       "southwest" : { 
        "lat" : 42.72692350, 
        "lng" : -83.43530149999999 
       } 
      } 
     }, 
     "types" : [ "locality", "political" ] 
     } 
    ], 
    "status" : "OK" 
} 

편집

하는 경우 첫 번째 전화로 우편 번호를받지 못하면 두 번째 전화를해야합니다. 모두를 첫 번째 호출의 좌표를 사용하여 동일한 웹 서비스에 추가합니다. 여전히 매우 간단합니다 - 다음과 같이 스티븐스 포인트에 대한 호출이, WI은 다음과 같습니다 당신은 "위치"에서 위도/LNG 값을 잡을 수

http://maps.googleapis.com/maps/api/geocode/json?latlng=44.52357920000001,-89.5745630&sensor=true

. 희망이 도움이! 에 대한 jQuery를-플러그인이 있습니다

+1

좋아요, 나는 그것이 좋은 줄 알았는데 그것이 구현했다 및 대한 우편 번호가없는 내 주변 지역의 반환 : 그린 베이 위, 스티븐스 포인트 위, 워사 우와 .... –

+1

흥미 롭. 글쎄, 네가 한 걸음 더 나아가 야 할 것 같아. 첫 번째 실행시 우편 번호가 표시되지 않으면 "위치"에서 lat 및 lng 값을 가져 와서 동일한 웹 서비스를 통해 실행하십시오. 내 업데이트를 참조하십시오. –

-1
var res; // store response in res variable 
var add_array = res[0].address_components; //add_array = { 
       "long_name" : "Clarkston", 
       "short_name" : "Clarkston", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Oakland", 
       "short_name" : "Oakland", 
       "types" : [ "administrative_area_level_2", "political" ] 
      }, 
      { 
       "long_name" : "Michigan", 
       "short_name" : "MI", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "United States", 
       "short_name" : "US", 
       "types" : [ "country", "political" ] 
      }, 
      { 
       "long_name" : "48346", 
       "short_name" : "48346", 
       "types" : [ "postal_code" ] 
      } 
    var add_array = add_array[add_array.length-1]; //add_array = { 
        "long_name" : "48346", 
        "short_name" : "48346", 
        "types" : [ "postal_code" ] 
       } 
    var zip = add_array.long_name; //zip = 48346 
관련 문제