Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getHumanAddress(geoObject){
- var declaration = {
- 'CountryName': 'country',
- 'AdministrativeAreaName': 'area',
- 'SubAdministrativeAreaName': 'subarea',
- 'LocalityName': 'city',
- 'DependentLocalityName': 'subcity',
- 'ThoroughfareName': 'street',
- 'PremiseNumber': 'house'
- }
- ,parseParams = ['Country', 'CountryName', 'AdministrativeArea', 'AdministrativeAreaName',
- 'Locality', 'LocalityName', 'Thoroughfare', 'ThoroughfareName', 'Premise', 'PremiseNumber',
- 'DependentLocality', 'DependentLocalityName',
- 'SubAdministrativeArea', 'SubAdministrativeAreaName']
- ,level = geoObject['metaDataProperty']['GeocoderMetaData']['AddressDetails']
- ,result={}
- ,nextLevel;
- while(1){
- var goDeeper = false;
- for(var key in level){
- if(parseParams.indexOf(key)!==-1){
- if(typeof level[key] === 'object'){
- nextLevel = level[key];
- goDeeper = true;
- }else{
- for(var declKey in declaration){
- if(declKey === key){
- result[declaration[key]] = level[key];
- }
- }
- }
- }
- }
- if(goDeeper){
- level = nextLevel; //we need to go deeper ;)
- }else{
- break;
- }
- }
- return result;
- }
Add Comment
Please, Sign In to add comment