Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

google_directions

0.6.0 • Public • Published

google_directions

This NPM Module is the simplest interface for asynchronously querying the Google Directions API (https://developers.google.com/maps/documentation/directions/intro) via Node. Find more information about the API here: https://developers.google.com/maps/documentation/directions/intro.

Installation

npm i google_directions

Get a Google API Key

https://console.developers.google.com/flows/enableapi?apiid=directions_backend&keyType=SERVER_SIDE

  • Select/Create a Project
  • Enable Directions API
  • Generate a Key (See the Credentials Tab)

Usage

Include this. Here are the parameter details.

var map = require('google_directions');
 
var params = {
    // REQUIRED
    origin: "",
    destination: "",
    key: "",
 
    // OPTIONAL
    mode: "",
    avoid: "",
    language: "",
    units: "",
    region: "",
};

API Methods

There are six main methods to choose from.

Raw Google Direction API Response (JSON):

// get the raw Google Directions API response as JSON object
map.getDirections(params, function (err, data) {
    if (err) {
        console.log(err);
        return 1;
    }
    console.log(data);
});

Navigation Steps (JSON):

// get navigation steps as JSON object
map.getDirectionSteps(params, function (err, steps){
    if (err) {
        console.log(err);
        return 1;
    }
 
    // parse the JSON object of steps into a string output
    var output="";
    var stepCounter = 1;
    steps.forEach(function(stepObj) {
        var instruction = stepObj.html_instructions;
        instruction = instruction.replace(/<[^>]*>/g, ""); // regex to remove html tags
        var distance = stepObj.distance.text;
        var duration = stepObj.duration.text;
        output += "Step " + stepCounter + "" + instruction + " ("+ distance +"/"+ duration+")\n";
        stepCounter++;
    });
    console.log(output);
});

Total Distance (String):

// get total distance as string
map.getDistance(params, function (err, data) {
    if (err) {
        console.log(err);
        return 1;
    }
    console.log(data);
});

Total Duration (String):

// get total duration as string
map.getDuration(params, function (err, data) {
    if (err) {
        console.log(err);
        return 1;
    }
    console.log(data);
});

Starting Address (String):

// get the starting address as string
map.getOriginAddress(params, function (err, data) {
    if (err) {
        console.log(err);
        return 1;
    }
    console.log(data);
});

Destination Address (String):

// get the destination address as string
map.getDestinationAddress(params, function (err, data) {
    if (err) {
        console.log(err);
        return 1;
    }
    console.log(data);
});

Parameters

History

Still currently maintained and updated.

  • 0.2.0 Initial Release

Credits

Google

License

MIT License

install

npm i google_directions

Downloadsweekly downloads

100

version

0.6.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar