npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

graphhopper-js-api-client

v5.1.0

Published

A Javascript Client for GraphHopper

Downloads

1,688

Readme

JavaScript client for the Directions API

Build Status

This project offers JavaScript clients and examples for the GraphHopper Directions API.

Try the live examples here.

Also see how we integrated the Routing and the Geocoding API to build a fully featured maps application called GraphHopper Maps

Getting Started

NPM

Install the lib with npm:

npm install graphhopper-js-api-client --save

You can either require the whole client enabling you to use every GraphHopper API, but you can also only require the pieces you need.

require('graphhopper-js-api-client');
 
window.onload = function() {
  let defaultKey = "[Sign-up for free and get your own key: https://www.graphhopper.com/products/]";
  let ghRouting = new GraphHopper.Routing({key: defaultKey}, {profile:"car", elevation: false});

  ghRouting.doRequest({points:[[8.534317, 47.400905], [8.538265, 47.394108]]})
    .then(function(json){
       // Add your own result handling here
       console.log(json);
    })
    .catch(function(err){
       console.error(err.message);
    });
};

Running Tests

In order to run the tests, you have to register for a key on GraphHopper. Either set your key as environment variable using export GHKEY=YOUR_KEY or set your key in spec/helpers/config.js. You can run all tests via npm test. If you only want to run a single spec file, you can use the --spec option, e.g., npm test --spec spec/GraphHopperRoutingSpec.js.

Dependencies

The API depends on superagent and bluebird which are packaged into the graphhopper-client.js.

The demo uses a couple of dependencies, but they are not required for requests to the API.

Integrate the APIs in your application

You can either use our bundled version, including all APIs or you can use only the pieces you need.

GraphHopper Routing API

GraphHopper Routing API screenshot

You need the routing client.

There is also a different client developed from the community here.

GraphHopper Route Optimization API

Route Optimization API screenshot

You need the optimization client.

GraphHopper Isochrone API

GraphHopper Isochrone API screenshot

You need the isochrone client

GraphHopper Matrix API

GraphHopper Matrix API screenshot

You need the matrix client.

GraphHopper Geocoding API

GraphHopper Geocoding API screenshot

You need the geocoding client.

GraphHopper Map Matching API

GraphHopper Map Matching API screenshot

You need the map matching client and the togeojson.js

Releasing a new Version to NPM

Releasing a new version to NPM is easy.

Set the version you like to publish in the package.json. It's important to understand, that every version can only be published once and cannot be overwritten.

Tag the commit you like to publish for example like this:

git log # get the commit hash of the commit you want to tag
git tag <tag> <commit-hash>
git push origin --tags

Travis will then build and publish the commit to NPM.

License

Code stands under Apache License 2.0