title: Issue with google maps API reverse geocoding - postal code returns 2 (prefix) only
body: <p>I have this php to grab data from google servers about specific geolocation.</p>
  
  <pre><code>&lt;?php
  if ($_GET['latitude'] AND $_GET['longitude']) {
      $lat = $_GET['latitude'];
      $lng = $_GET['longitude'];
      echo json_encode(reverse_geocode($lat,$lng));
  }
  ?&gt;
  
  
  &lt;?php
  //Get STATE from Google GeoData
  function reverse_geocode($lat,$lng) {
      $url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=$lat,$lng&amp;sensor=false";
      $result = file_get_contents("$url");
      $json = json_decode($result);
      foreach ($json-&gt;results as $result) {
          foreach($result-&gt;address_components as $addressPart) {
              //print_r($addressPart);
              if((in_array('locality', $addressPart-&gt;types)) &amp;&amp; (in_array('political', $addressPart-&gt;types))) {
                  $city = $addressPart-&gt;long_name;
              }
              else if((in_array('administrative_area_level_1', $addressPart-&gt;types)) &amp;&amp; (in_array('political', $addressPart-&gt;types))) {
                  $state = $addressPart-&gt;long_name;
              }
              else if((in_array('country', $addressPart-&gt;types)) &amp;&amp; (in_array('political', $addressPart-&gt;types))) {
                  $country = $addressPart-&gt;long_name;
              }
              else if(in_array('route', $addressPart-&gt;types)) {
                  $street = $addressPart-&gt;long_name;
              }
              else if(in_array('street_number', $addressPart-&gt;types)) {
                  $street_number = $addressPart-&gt;long_name;
              }
              else if(in_array('postal_code', $addressPart-&gt;types)) {
                  $postal_code = $addressPart-&gt;long_name;
              }
          }
      }
  
      //return $address;
      return array('country' =&gt; $country, 'state' =&gt; $state, 'city' =&gt; $city, 'street' =&gt; $street_number . " " . $street, 'zip' =&gt; $postal_code);
      //print_r($json);
  }
  ?&gt;
  </code></pre>
  
  <p>For <code>?latitude=49.260441796677014&amp;longitude=-123.12049284766846</code></p>
  
  <p>This returns:</p>
  
  <pre><code>{"country":"Canada","state":"British Columbia","city":"Vancouver","street":"706-750 West 12th Avenue","zip":"V5Z"}
  </code></pre>
  
  <p>Notice zip, it is 3 letter prefix of postal code, not real postal code. Why is this happening? In original json data it seemed I had full postal code. Uncomment <code>print_r($addressPart);</code> to see what I'm talking about.</p>