Skip to content

Commit 2e885e2

Browse files
authored
Merge pull request #244 from dippi/patch-1
Bing Reverse Geocoding
2 parents 65fac43 + ae35710 commit 2e885e2

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

lib/geocoder/virtualearth.js

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,37 @@ VirtualEarthGeocoder.prototype._geocode = function(value, callback) {
5050
});
5151
};
5252

53+
/**
54+
* Reverse geocoding
55+
* @param {lat:<number>, lon:<number>} lat: Latitude, lon: Longitude
56+
* @param <function> callback Callback method
57+
*/
58+
VirtualEarthGeocoder.prototype._reverse = function(value, callback) {
59+
60+
var _this = this;
61+
62+
var params = {
63+
key: this.options.apiKey
64+
};
65+
66+
var endpoint = this._endpoint + "/" + value.lat + "," + value.lon;
67+
68+
this.httpAdapter.get(endpoint, params, function(err, result) {
69+
if (err) {
70+
return callback(err);
71+
} else {
72+
var results = [];
73+
74+
for(var i = 0; i < result.resourceSets[0].resources.length; i++) {
75+
results.push(_this._formatResult(result.resourceSets[0].resources[i]));
76+
}
77+
78+
results.raw = result;
79+
callback(false, results);
80+
}
81+
});
82+
}
83+
5384
VirtualEarthGeocoder.prototype._formatResult = function(result) {
5485
return {
5586
'latitude' : result.point.coordinates[0],
@@ -58,7 +89,8 @@ VirtualEarthGeocoder.prototype._formatResult = function(result) {
5889
'city' : result.address.locality,
5990
'state' : result.address.adminDistrict,
6091
'zipcode' : result.address.postalCode,
61-
'streetName': result.address.addressLine
92+
'streetName': result.address.addressLine,
93+
'formattedAddress': result.address.formattedAddress
6294
};
6395
};
6496

0 commit comments

Comments
 (0)