diff --git a/lib/geocoder/results/yandex.rb b/lib/geocoder/results/yandex.rb index 841da9887e1c074699960caffa886b2ca0e76f70..f69c10cfc89810471ff3c41d8bdd1d43d2f97866 100644 --- a/lib/geocoder/results/yandex.rb +++ b/lib/geocoder/results/yandex.rb @@ -16,8 +16,10 @@ module Geocoder::Result address_details['Locality']['LocalityName'] elsif sub_state.empty? address_details['AdministrativeArea']['Locality']['LocalityName'] - else - address_details['AdministrativeArea']['SubAdministrativeArea']['Locality']['LocalityName'] + elsif not sub_state_city.empty? + sub_state_city + else + "" end end @@ -62,5 +64,13 @@ module Geocoder::Result def address_details @data['GeoObject']['metaDataProperty']['GeocoderMetaData']['AddressDetails']['Country'] end + + def sub_state_city + if sub_state && sub_state["Locality"] + sub_state['Locality']['LocalityName'] + else + "" + end + end end end