File tree Expand file tree Collapse file tree 2 files changed +14
-2
lines changed
tests/Geocoder/Tests/Provider Expand file tree Collapse file tree 2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -52,6 +52,16 @@ public function getGeocodedData($address)
5252
5353 $ result = json_decode ($ this ->executeQuery ($ address ));
5454
55+ //Try to extract the region name and code
56+ $ region = null ;
57+ $ regionCode = null ;
58+ if (isset ($ result ->subdivisions ) && is_array ($ result ->subdivisions ) && !empty ($ result ->subdivisions )) {
59+ $ lastSubdivision = array_pop ($ result ->subdivisions );
60+
61+ $ region = (isset ($ lastSubdivision ->names ->{$ this ->locale }) ? $ lastSubdivision ->names ->{$ this ->locale } : null );
62+ $ regionCode = (isset ($ lastSubdivision ->iso_code ) ? $ lastSubdivision ->iso_code : null );
63+ }
64+
5565 return array ($ this ->fixEncoding (array_merge ($ this ->getDefaults (), array (
5666 'countryCode ' => (isset ($ result ->country ->iso_code ) ? $ result ->country ->iso_code : null ),
5767 'country ' => (isset ($ result ->country ->names ->{$ this ->locale }) ? $ result ->country ->names ->{$ this ->locale } : null ),
@@ -60,6 +70,8 @@ public function getGeocodedData($address)
6070 'longitude ' => (isset ($ result ->location ->longitude ) ? $ result ->location ->longitude : null ),
6171 'timezone ' => (isset ($ result ->location ->timezone ) ? $ result ->location ->timezone : null ),
6272 'zipcode ' => (isset ($ result ->location ->postalcode ) ? $ result ->location ->postalcode : null ),
73+ 'region ' => $ region ,
74+ 'regionCode ' => $ regionCode
6375 ))));
6476 }
6577
Original file line number Diff line number Diff line change @@ -99,8 +99,8 @@ public static function provideDataForRetrievingGeodata()
9999 'cityDistrict ' => null ,
100100 'county ' => null ,
101101 'countyCode ' => null ,
102- 'region ' => null ,
103- 'regionCode ' => null ,
102+ 'region ' => ' Hamburg ' ,
103+ 'regionCode ' => ' HH ' ,
104104 'country ' => 'Germany ' ,
105105 'countryCode ' => 'DE ' ,
106106 'timezone ' => null ,
You can’t perform that action at this time.
0 commit comments