/geokit

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

Primary LanguageTypeScriptMIT LicenseMIT

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