Skip to content

An assortment of geolocation related tools, all packaged in one easy to use kit.

License

Notifications You must be signed in to change notification settings

MichaelSolati/geokit

Repository files navigation

geokit

npm npm bundle size Release CI Coveralls github David GitHub stars GitHub forks

Full documentation is available at https://geokit.geofirestore.com.

An assortment of geolocation related tools, all packaged in one easy to use kit.

Methods

distance(start: LatLngLiteral, end: LatLngLiteral, unit?: string): number

Calculates the distance, in kilometers, between two coordinates.

start and end must be LatLngLiterals { lat: 0, lng: 0 }.

import * as geokit from 'geokit';

const start = {lat: 41.3083, lng: -72.9279};
const end = {lat: -33.8688, lng: 151.2093};

const distance = geokit.distance(location1, location2); // distance === 16082.811206563834

hash(coordinates: LatLngLiteral, precision?: number): string

Generates Geohash of coordinates.

coordinates must be LatLngLiterals { lat: 0, lng: 0 }.

import * as geokit from 'geokit';

const coordinates = {lat: 41.3083,  lng: -72.9279};

const hash = geokit.hash(coordinates); // hash === 'drk4urzw2c'

decodeHash(hash: string): LatLngLiteral

Decodes a Geohash into its Latitude and Longitude as a LatLngLiteral.

import * as geokit from 'geokit';

const hash = 'r3gx2f77b';

const coordinates = geokit.decodeHash(hash); // coordinates === {lat: -33.86881113052368,  lng: 151.2093186378479}

validateCoordinates(coordinates: LatLngLiteral): boolean

Validates coordinates and returns a boolean if valid, or throws an error if invalid.

coordinates must be LatLngLiterals { lat: 0, lng: 0 }.

import * as geokit from 'geokit';

const coordinates = {lat: 41.3083,  lng: -72.9279};

const isValid = geokit.validateCoordinates(coordinates); // true

validateHash(hash: string): LatLngLiteral

Validates a Geohash and returns a boolean if valid, or throws an error if invalid.

import * as geokit from 'geokit';

const hash = 'r3gx2f77b';

const isValid = geokit.validateHash(hash); // true