ng2-haversine

An Angular 2 library to calculate the distance between a pair of coordinates using the Haversine formula.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
ng2-haversine
600.1.16 years ago6 years agoMinified + gzip package size for ng2-haversine in KB

Readme

ng2-haversine
NPM
npm version Dependency Status
An Angular 2 library to calculate the distance between a pair of coordinates using the Haversine formula.

Getting started

Install ng2-haversine using npm within your Angular 2 app directory:
$ npm install ng2-haversine --save

Once the package is installed, set the provider for HaversineService in your AppModule:
import { HaversineService } from "ng2-haversine";

@NgModule({
    ...
    providers: [HaversineService]
    ...
})
export class AppModule { }

Now you're ready to use ng2-haversine!

How to

You can use HaversineService from a Service or from a Component: just inject it as a dependency. Remember to import GeoCoord as well:
import { HaversineService, GeoCoord } from "ng2-haversine";

@Component({ ... })
export class MyComponent {
    constructor(private _haversineService: HaversineService) { }
}

Then, use one of the provided functions in HaversineService to calcule the distance between two points:
tryHaversine(): void {

    let madrid: GeoCoord = {
        latitude: 40.416775,
        longitude: -3.703790
    };

    let bilbao: GeoCoord = {
        latitude: 43.262985,
        longitude: -2.935013
    };

    let meters = this._haversineService.getDistanceInMeters(madrid, bilbao);
    let kilometers = this._haversineService.getDistanceInKilometers(madrid, bilbao);
    let miles = this._haversineService.getDistanceInMiles(madrid, bilbao);

    console.log(`
        The distance between Madrid and Bilbao is:
            - ${meters} meters
            - ${kilometers} kilometers
            - ${miles} miles
    `);
}

As you have guessed:
  • getDistanceInMeters(coord1: GeoCoord, coord2: GeoCoord): number calculates a distance in meters.
  • getDistanceInKilometers(coord1: GeoCoord, coord2: GeoCoord): number calculates a distance in kilometers.
  • getDistanceInMiles(coord1: GeoCoord, coord2: GeoCoord): number calculates a distance in miles.
  • GeoCoord is an interface with latitude: number and longitude: number.

Using SystemJS

To load ng2-haversine using SystemJS is as simple as this. Open your systemjs.config.js file and set paths, map and packages properties this way:
(function (global) {
    System.config({
        paths: {
            "npm:": "node_modules/"
        },
        map: {
            ...
            "ng2-haversine": "npm:ng2-haversine"
        },
        packages: {
            ...
            "ng2-haversine": {
                main: "./index.js",
                defaultExtension: "js"
            }
        }
    });
})(this);

That's it :)

License

Code released under the MIT license.