node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »

google_directions

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