| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Node library for geocoding and reverse geocoding
npm install node-geocoder
var geocoderProvider = 'google';
var httpAdapter = 'http';
// optionnal
var extra = {
apiKey: 'YOUR_API_KEY', // for map quest
formatter: null // 'gpx', 'string', ...
};
var geocoder = require('node-geocoder').getGeocoder(geocoderProvider, httpAdapter, extra);
// Using callback
geocoder.geocode('29 champs elysée paris', function(err, res) {
console.log(res);
});
// Or using Promise
geocoder.geocode('29 champs elysée paris')
.then(function(res) {
console.log(res);
})
.err(function(err) {
console.log(err);
});
// output :
[{
latitude: 48.8698679,
longitude: 2.3072976,
country: 'France',
countryCode: 'FR',
city: 'Paris',
zipcode: '75008',
streetName: 'Champs-Élysées',
streetNumber: '29',
state: 'Île de France',
stateCode: 'IDF'
}]
// Reverse example
// Using callback
geocoder.reverse(45.767, 4.833, function(err, res) {
console.log(res);
});
// Or using Promise
geocoder.reverse(45.767, 4.833)
.then(function(res) {
console.log(res);
})
.err(function(err) {
console.log(err);
});You can improve this project by adding new geocoders or http adapters.
To run tests just npm test
To check code style install jshint and just run `jshint lib test
You can add new geocoders by implementing the two method geocode & reverse:
var geocoder = {
geocode: function(value, callback) { },
reverse: function(lat, lng, callback) { }
}You can also add formatter implementing this interface
var formatter = {
format: function(data) { return formattedData; },
}| Back | FazBrowse Home | New Git URL |