A Javascript SDK for working with Goong REST APIs.
Works in Node, the browser, and React Native.
npm install @goongmaps/goong-sdk
yarn add @goongmaps/goong-sdk
If you are supporting older browsers, you will need a Promise polyfill. es6-promise is a good one, if you're uncertain.
The documentation below assumes you're using a JS module system. If you aren't, read "Pre-bundled files on unpkg.com".
There are 3 basic steps to getting an API response:
- Create a client.
- Create a request.
- Send the request.
To create a service client, import the service's factory function from '@goongmaps/goong-sdk/services/{service}'
and provide it with your access token.
The service client exposes methods that create requests.
const gmsDirections = require('@goongmaps/goong-sdk/services/directions');
const directionService = gmsDirections({ accessToken: MY_ACCESS_TOKEN });
You can also share one configuration between multiple services. To do that, initialize a base client and then pass that into service factory functions.
const goongClient = require('@goongmaps/goong-sdk');
const goongDirections = require('@goongmaps/goong-sdk/services/directions');
const baseClient = goongClient({ accessToken: MY_ACCESS_TOKEN });
const directionService = goongStyles(baseClient);
To create a request, invoke a method on a service client.
Once you've created a request, send the request with its send
method.
It will return a Promise that resolves with a GAPIResponse
.
const goongClient = require('@goongmaps/goong-sdk');
const goongDirections = require('@goongmaps/goong-sdk/services/directions');
const baseClient = goongClient({ accessToken: MY_ACCESS_TOKEN });
const directionService = goongDirections(baseClient);
directionService.getDirections({..})
.send()
.then(response => {..}, error => {..});
Please read the full documentation for services.
If you aren't using a JS module system, you can use a <script>
tag referencing pre-bundled files on the CDN unpkg.com.
<script src="https://unpkg.com/@goongmaps/goong-sdk/umd/goong-sdk.js"></script>
<script src="https://unpkg.com/@goongmaps/goong-sdk/umd/goong-sdk.min.js"></script>
These files are a UMD build of the package, exposing a global goongSdk
function that creates a client, initializes all the services, and attaches those services to the client.
Here's how you might use it.
<script src="https://unpkg.com/@goongmaps/goong-sdk/umd/goong-sdk.min.js"></script>
<script>
var goongClient = goongSdk({ accessToken: MY_ACCESS_TOKEN });
goongClient.autocomplete.search(..)
.send()
.then(..);
</script>