/js-client

Javascript client library for baato.io

Primary LanguageJavaScriptMIT LicenseMIT

@baatomaps/baato-js-client

Version License: MIT

Client library for easily integrating Baato.io's services into your project

Installation

Using npm:

$ npm install --save @baatomaps/baato-js-client

Features

The Baato JavaScript client library makes it easy to integrate the Baato API into existing web-based front-end projects. This package acts as a wrapper for the following Baato services:

Usage

Search API

The Baato.Search() constructor can be used to make requests to the Search API.

import Baato from "@baatomaps/baato-js-client";

const search = new Baato.Search()
  .setApiVersion("1.0") // default
  .setBaseUrl(`https://api.baato.io/api`) // detault Baato base URL
  .setKey("YOUR_BAATO_ACCESS_TOKEN")
  .setQuery("kathmandu") // string query to search for
  .setLimit(5) // limit the number of responses
  .doRequest()
  .then((response) => {
    console.log(response); // search response
  });

Reverse Search API

The Baato.Reverse() constructor can be used to make requests to the Reverse Search API.

import Baato from "@baatomaps/baato-js-client";

const reverse = new Baato.Reverse()
  .setApiVersion("1.0") // default
  .setBaseUrl(`https://api.baato.io/api`) // detault Baato base URL
  .setKey("YOUR_BAATO_ACCESS_TOKEN")
  .setCoordinates([latitude, longitude]) // coordinates to reverse geocode
  .setLimit(5) // limit the number of responses
  .doRequest()
  .then((res) => {
    console.log(res); // reverse-search response
  });

Places API

The Baato.Places() constructor can be used to make requests to the Places API.

import Baato from "@baatomaps/baato-js-client";

const search = new Baato.Places()
  .setApiVersion("1.0") // default
  .setBaseUrl(`https://api.baato.io/api`) // detault Baato base URL
  .setKey("YOUR_BAATO_ACCESS_TOKEN")
  .setPlaceId("110023")
  .doRequest()
  .then((response) => {
    console.log(response); // place response
  });

Directions API

For getting single best route.

import Baato from "@baatomaps/baato-js-client";

const points = ["27.71772,85.32784", "27.73449,85.33714"];

const bRouting = new Baato.Routing({
  key: "YOUR_BAATO_ACCESS_TOKEN",
})
  .setApiVersion("1.0") // default
  .setBaseUrl(`https://api.baato.io/api`) // detault Baato base URL
  .setKey("YOUR_BAATO_ACCESS_TOKEN")
  .addPoints(points) // points for which route is to be calculated
  .setVehicle("car") // one of car, bike, or foot
  .getBest()
  .doRequest()
  .then((response) => {
    console.log(response); // directions response
  });

For also including alternative routes. Only supports two points. Adding more than two points will return in an error response.

import Baato from "@baatomaps/baato-js-client";

const points = ["27.71772,85.32784", "27.73449,85.33714"];

const bRouting = new Baato.Routing({
  key: "YOUR_BAATO_ACCESS_TOKEN",
})
  .setApiVersion("1.0") // default
  .setBaseUrl(`https://api.baato.io/api`) // detault Baato base URL
  .setKey("YOUR_BAATO_ACCESS_TOKEN")
  .addPoints(points)
  .setVehicle("car") // one of car. bike, or foot
  .getAlternatives()
  .doRequest()
  .then((response) => {
    console.log(response); // directions response
  });

For elevation add getElevation().

Converting into GeoJSON

To get the results in GeoJSON format, use one of our utilities Baato.Util().getGeoJsonFromSearchResults(res) and pass the response as argument from one of the above features.

// res is the response
const geojson = new Baato.Util().getGeoJsonFromSearchResults(res);