get reverse-geocoded data for latitude and longitude values
- Zero dependencies
- Quick city level lookups
- Only US, Canada and Australia dataset as of now, more coming soon.
- Include package in your project
npm install --save reverse-geocode or yarn add reverse-geocode- Use package to get geo data from lat-long values. Specify a country code, which should match
/locations/{countryCode}.json. USA, Australia, and Canada are provided.
const reverse = require('reverse-geocode') console.log(reverse.lookup(37.8072792, -122.4780652, 'us')) /* { zipcode: '94129', state_abbr: 'CA', latitude: '37.799840', longitude: '-122.46167', city: 'San Francisco', state: 'California', distance: 1.6610566475026183 } */const reverse = require('reverse-geocode') console.log(reverse.lookup(50.447444, -104.418513, 'ca')) /* { country: 'CA', zipcode: 'S4Z', region: 'Regina Northeast', state: 'Saskatchewan', state_abbr: 'SK', city: 'Regina', latitude: 50.4497, longitude: -104.5323, distance: 8.06066680024397 } */More sample outputs are in test snapshots.
The contents of a location data file is a simple JSON array, of location data:
;[ { zipcode: '59221', state_abbr: 'MT', latitude: '47.900376', longitude: '-104.13403', city: 'Fairview', state: 'Montana', }, ]Find country postalcode data from a provider of your choice, format as above, and save into /locations/ as {countryCode}.JSON. Then, specify the same country code.
For a good time, save all data to all.json and specify 'all' to the reverse.lookup method.
- Haversine originally by Nick Justice (niix) at https://github.com/niix/haversine
- Inspired from cities by Steven Lu (sjlu) at https://www.npmjs.com/package/cities