This NPM Module is the simplest interface for asynchronously querying the Google Directions API (https://developers.google.com/maps/documentation/directions/intro) via Node.
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)
Include this. Here are the parameter details.
var map = require('google_directions');
var params = {
// REQUIRED
origin: "",
destination: "",
key: "",
// OPTIONAL
mode: "",
avoid: "",
language: "",
units: "",
region: "",
};
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);
});
- origin: staring location
- destination: ending location
- key: your Google-generated API key
- mode: “driving” | “walking” | “bicycling”
- default: driving
- avoid: "tolls" | "highways" | "ferries" | "indoor"
- default: none
- language: https://developers.google.com/maps/faq#languagesupport
- default: based on origin country
- units: "metric" | "imperial"
- default: based on origin country
- region: https://developers.google.com/maps/documentation/directions/intro#RegionBiasing
- default: based on location of user
Still currently maintained and updated.
- 0.6.0
MIT License