Simpleset Way to Asynchronously Call the Google Directions API [Node.js Wrapper]
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
node_modules
LICENSE.md
README.md
index.js
npm-debug.log
package.json

README.md

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.

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.6.0

Credits

Google

License

MIT License