@@ -67,34 +67,35 @@ OpenStreetMapGeocoder.prototype._geocode = function(value, callback) {
67
67
} ;
68
68
69
69
OpenStreetMapGeocoder . prototype . _formatResult = function ( result ) {
70
-
71
- var countryCode = result . address . country_code ;
72
- if ( countryCode ) {
73
- countryCode = countryCode . toUpperCase ( ) ;
74
- }
75
-
76
- var latitude = result . lat ;
77
- if ( latitude ) {
78
- latitude = parseFloat ( latitude ) ;
70
+ var countryCode , latitude , longitude , formattedAddress , country , city , state , zipcode , streetName , streetNumber , neighbourhood ;
71
+
72
+ if ( result . address ) {
73
+ countryCode = result . address . country_code ? result . address . country_code . toUpperCase ( ) : undefined ;
74
+ country = result . address . country ;
75
+ city = result . address . city || result . address . town || result . address . village || result . address . hamlet ;
76
+ state = result . address . state ;
77
+ zipcode = result . address . postcode ;
78
+ streetName = result . address . road || result . address . cycleway ;
79
+ streetNumber = result . address . house_number ;
80
+ neighbourhood = result . address . neighbourhood || '' ;
79
81
}
80
82
81
- var longitude = result . lon ;
82
- if ( longitude ) {
83
- longitude = parseFloat ( longitude ) ;
84
- }
83
+ latitude = result . lat ? parseFloat ( result . lat ) : undefined ;
84
+ longitude = result . lon ? parseFloat ( result . lon ) : undefined ;
85
+ formattedAddress = result . display_name ;
85
86
86
87
return {
87
- 'latitude' : latitude ,
88
- 'longitude' : longitude ,
89
- 'formattedAddress' : result . display_name ,
90
- 'country' : result . address . country ,
91
- 'city' : result . address . city || result . address . town || result . address . village || result . address . hamlet ,
92
- 'state' : result . address . state ,
93
- 'zipcode' : result . address . postcode ,
94
- 'streetName' : result . address . road || result . address . cycleway ,
95
- 'streetNumber' : result . address . house_number ,
96
- 'countryCode' : countryCode ,
97
- 'neighbourhood' : result . address . neighbourhood || ''
88
+ 'latitude' : latitude ,
89
+ 'longitude' : longitude ,
90
+ 'formattedAddress' : formattedAddress ,
91
+ 'country' : country ,
92
+ 'city' : city ,
93
+ 'state' : state ,
94
+ 'zipcode' : zipcode ,
95
+ 'streetName' : streetName ,
96
+ 'streetNumber' : streetNumber ,
97
+ 'countryCode' : countryCode ,
98
+ 'neighbourhood' : neighbourhood
98
99
} ;
99
100
} ;
100
101
0 commit comments