A free reverse geocoding service.
This library can be used to get location information from latitude and longitude for free. To get faster results, it is possible to enable the cache feature to store request results. This allows to reduce the number of API calls. It uses the OSM fundation API: https://wiki.osmfoundation.org/wiki/Main_Page
Open Street Map Reverse GeoCoding is a free service. Use it with moderation.
To install Open Street Map Reverse GeoCoding, run the following command:
yarn add open-street-map-reverse-geo-node-client
or
npm install open-street-map-reverse-geo-node-client --save
This library does not use callbacks. Use promises instead.
( see src/tests/index.test.ts file )
import { ReverseGeocoder } from '.';
const geo = new ReverseGeocoder()
const result = await geo.getReverse('0','0')
The response:
{
placeId: '91511633',
displayName: 'Opéra Municipal, Place de Jaude, Bonnabaud, Clermont-Ferrand, Puy-de-Dôme Auvergne-Rhône - Alpes, France métropolitaine, 63037, France',
lat: '45.77755365',
lng: '3.08255435728528',
address:
{
theatre: 'Opéra Municipal',
pedestrian: 'Place de Jaude',
suburb: 'Bonnabaud',
city: 'Clermont-Ferrand',
county: 'Clermont-Ferrand',
state: 'Auvergne-Rhône-Alpes',
country: 'France',
postcode: '63037',
countryCode: 'fr'
},
fromCache : false
}
const Geo = require('./dist')
const reverse = new Geo.ReverseGeocoder()
reverse.getReverse('45.777210', '3.082520')
.then((location)=>{console.log(location)})
.catch(err=>{console.error(err)})
Cache is enabled by default. To disable this option:
geo.disableCache()
You can configure your reverse geocoder instance.
const fakeGeo = new ReverseGeocoder({
cacheIsEnabled : false, // Enable or disable cache
callApi : false, // Set to true for your tests
maxCacheSize : 200 // Number of elements saved in memory
})
If you want to run your test without calling API you can configure your reverse geocoder instance.
const fakeGeo = new ReverseGeocoder({
cacheIsEnabled : false,
callApi : false
})
yarn run test
or
npm run test