Geolocation helper for find location in a range.
It use the Haversine formula to calculate the distance.
If it has saved you development time, please consider sponsoring the project with GitHub sponsors!
But me a coffee/book: https://www.buymeacoffee.com/hckrnews Or on patreon: https://patreon.com/w3news
import { filterLocationsOnDistance } from '@hckrnews/geolocation';
// My position coords
const coords: {
latitude: 52.12265270227936,
longitude: 5.575334785130014
}
// Distance to swarch within
const distance = 12000
// Some example locations
const locations = [
{
name: 'Location 1',
location: {
latitude: 52.045934,
longitude: 6.102895
}
},
{
name: 'Location 2',
location: {
latitude: 52.17306,
longitude: 5.434552
}
},
{
name: 'Location 3',
location: {
latitude: 52.057043,
longitude: 4.389277
}
}
]
// Calculate my distance from all locations
const locationsWithDistance = filterLocationsOnDistance(locations, coords, distance)
Result:
[
{
name: 'Location 2',
location: {
latitude: 52.17306,
longitude: 5.434552
},
distance: 11121.588884360723
}
]
npm test
This will run all the tests in the test folders with the native test runner.
If you only want to check the eslint rules, just run.
npm run lint
To include @hckrnews/geolocation in Node, first install with npm.
npm install @hckrnews/geolocation
Check if your node version is 18+
Use the package in your node files.
import { filterLocationsOnDistance } from '@hckrnews/geolocation';