All Projects → graphhopper → Directions Api Js Client

graphhopper / Directions Api Js Client

JavaScript client for the GraphHopper Directions API

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Directions Api Js Client

Geoapi
GeoAPI provides a set of interfaces in programming languages (currently Java and Python) for geospatial applications. The GeoAPI interfaces closely follow OGC specifications, adaptated to match the expectations of programmers.
Stars: ✭ 71 (-2.74%)
Mutual labels:  api
Church Calendar Api
API providing Roman Catholic church calendar data for your apps
Stars: ✭ 72 (-1.37%)
Mutual labels:  api
Mojo Weixin
使用Perl语言(不会没关系)编写的个人账号微信/weixin/wechat客户端框架(非GUI),可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
Stars: ✭ 1,181 (+1517.81%)
Mutual labels:  api
Colonyjs
The Colony JavaScript client
Stars: ✭ 72 (-1.37%)
Mutual labels:  api
Budgetml
Deploy a ML inference service on a budget in less than 10 lines of code.
Stars: ✭ 1,179 (+1515.07%)
Mutual labels:  api
Tapi Yandex Metrika
Библиотека для всех API Яндекс Метрика
Stars: ✭ 74 (+1.37%)
Mutual labels:  api
Fipe Json
🚘 FIPE API - Listagem com preço médio de veículos: carro, moto e caminhão.
Stars: ✭ 71 (-2.74%)
Mutual labels:  api
Pymarketcap
Python3 API wrapper and web scraper for https://coinmarketcap.com
Stars: ✭ 73 (+0%)
Mutual labels:  api
Goodreads Api Node
Goodreads API wrapper for node.js
Stars: ✭ 72 (-1.37%)
Mutual labels:  api
Materialchipview
Material Chip view. Can be used as tags for categories, contacts or creating text clouds
Stars: ✭ 1,181 (+1517.81%)
Mutual labels:  api
Covid19
JSON time-series of coronavirus cases (confirmed, deaths and recovered) per country - updated daily
Stars: ✭ 1,177 (+1512.33%)
Mutual labels:  api
Foal
Elegant and all-inclusive Node.Js web framework based on TypeScript. 🚀.
Stars: ✭ 1,176 (+1510.96%)
Mutual labels:  api
Nextjs Jwt Example
next.js authorization example including private route protection
Stars: ✭ 72 (-1.37%)
Mutual labels:  api
Fruity
Rusty bindings for Apple libraries
Stars: ✭ 72 (-1.37%)
Mutual labels:  api
Checklist Tools Website
🍿 The perfect Checklist Website for meticulous developers.
Stars: ✭ 73 (+0%)
Mutual labels:  api
Api Blueprint Boilerplate
Minimalistic boilerplate to quick-start API specification using API Blueprint description language.
Stars: ✭ 71 (-2.74%)
Mutual labels:  api
Umdio
An open API for the University of Maryland
Stars: ✭ 72 (-1.37%)
Mutual labels:  api
Openvulnapi
Documentation and Tools for Cisco's PSIRT openVuln API
Stars: ✭ 73 (+0%)
Mutual labels:  api
Basicbot
A basic example of a Discord Bot written in Python. (discord.py)
Stars: ✭ 73 (+0%)
Mutual labels:  api
Api
API Oficial do Te Emprego
Stars: ✭ 73 (+0%)
Mutual labels:  api

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

CDN

You can use the hosted js client by adding it to your HTML like this:

 <script src="https://cdn.jsdelivr.net/npm/graphhopper-js-api-client/dist/graphhopper-client.js"></script>

You can then use it like this:

<script>
  window.onload = function() {

    var ghRouting = new GraphHopper.Routing({
      key: "[Sign-up for free and get your own key: https://www.graphhopper.com/products/]",
      vehicle: "car",
      elevation: false
    });

    ghRouting.addPoint(new GHInput(47.400905, 8.534317));
    ghRouting.addPoint(new GHInput(47.394108, 8.538265));

    ghRouting.doRequest()
      .then(function(json) {
        // Add your own result handling here
        console.log(json);
      })
      .catch(function(err) {
        console.error(err.message);
      });


  };
</script>

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');
 // If you only need e.g. Routing, you can only require the needed parts
 //var GraphHopperRouting = require('graphhopper-js-api-client/src/GraphHopperRouting');
 //var GHInput = require('graphhopper-js-api-client/src/GHInput');
 
 window.onload = function() {
 
     var defaultKey = "[Sign-up for free and get your own key: https://www.graphhopper.com/products/]";
     var profile = "car";
 
     var host;
     var ghRouting = new GraphHopper.Routing({key: defaultKey, host: host, vehicle: profile, elevation: false});
     // If you only need e.g. Routing, you can only require the needed parts
     //var ghRouting = new GraphHopperRouting({key: defaultKey, host: host, vehicle: profile, elevation: false});
 
     // Setup your own Points
     ghRouting.addPoint(new GHInput(47.400905, 8.534317));
     ghRouting.addPoint(new GHInput(47.394108, 8.538265));
 
     ghRouting.doRequest()
     .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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].