diff --git a/lib/geocoder/googlegeocoder.js b/lib/geocoder/googlegeocoder.js index 54b30ba1..100aa2e1 100644 --- a/lib/geocoder/googlegeocoder.js +++ b/lib/geocoder/googlegeocoder.js @@ -194,6 +194,8 @@ GoogleGeocoder.prototype._formatResult = function (result) { break; //Administrative Level 1 case 'administrative_area_level_1': + extractedObj.state = result.address_components[i].long_name; + extractedObj.stateCode = result.address_components[i].short_name; extractedObj.administrativeLevels.level1long = result.address_components[i].long_name; extractedObj.administrativeLevels.level1short = result.address_components[i].short_name; break; diff --git a/test/geocoder/googlegeocoder.test.js b/test/geocoder/googlegeocoder.test.js index fe1b8c81..3cf7986a 100644 --- a/test/geocoder/googlegeocoder.test.js +++ b/test/geocoder/googlegeocoder.test.js @@ -222,6 +222,8 @@ describe('GoogleGeocoder', () => { "latitude" : 37.386, "longitude" : -122.0838, "country" : "France", + "state" : "Île-de-France", + "stateCode" : "IDF", "city" : "Paris", "zipcode" : "75008", "streetName" : "Champs-Élysées", @@ -407,6 +409,8 @@ describe('GoogleGeocoder', () => { "latitude" : 37.386, "longitude" : -122.0838, "country" : "France", + "state" : "Île-de-France", + "stateCode" : "IDF", "city" : "Paris", "zipcode" : "75008", "streetName" : "Champs-Élysées", @@ -484,6 +488,8 @@ describe('GoogleGeocoder', () => { "latitude" : 37.386, "longitude" : -122.0838, "country" : "France", + "state" : "Île-de-France", + "stateCode" : "IDF", "city" : "Paris", "zipcode" : "75008", "streetName" : "Champs-Élysées", @@ -574,6 +580,8 @@ describe('GoogleGeocoder', () => { "latitude" : 40.714232, "longitude" : -73.9612889, "country" : "United States", + "state" : "État de New York", + "stateCode" : "NY", "city" : "Brooklyn", "zipcode" : "11211", "streetName" : "Bedford Avenue",