Skip to content

Web JavaScript SDK for Radar, the leading geofencing and location tracking platform

License

Notifications You must be signed in to change notification settings

radarlabs/radar-sdk-js

Repository files navigation

npm CircleCI branch NPM downloads License

⚡ Use Radar SDKs and APIs to add location context to your apps with just a few lines of code. ⚡

🔥 Try it! 🔥

🚀 Installation and Usage

With npm

Note: The Radar JS SDK has a peer dependency on maplibre-gl-js.

Add the radar-sdk-js and maplibre-gl packages

# with npm
npm install --save radar-sdk-js maplibre-gl

# with yarn
yarn add radar-sdk-js maplibre-gl

Then import as an ES Module in your project

import Radar from 'radar-sdk-js';
import 'radar-sdk-js/dist/radar.css'

// initialize with your test or live publishable key
Radar.initialize('prj_test_pk_...', { /* options */ });

In your html

The MapLibre dependency is not necessary to install when using installation with the script tag.

Add the following script in your html file

<script src="https://js.radar.com/v4.4.7/radar.min.js"></script>

Then initialize the Radar SDK

<script type="text/javascript">
  Radar.initialize('prj_test_pk_...', { /* options */ });
</script>

Quickstart

Create a map

To create a map, first initialize the Radar SDK with your publishable key. Then specify the HTML element where you want to render the map, by providing the element's ID, or the element object itself.

<html>
  <head>
    <link href="https://js.radar.com/v4.4.7/radar.css" rel="stylesheet">
    <script src="https://js.radar.com/v4.4.7/radar.min.js"></script>
  </head>

  <body>
    <div id="map" style="width: 100%; height: 500px;" />

    <script type="text/javascript">
      Radar.initialize('<RADAR_PUBLISHABLE_KEY>');

      const map = Radar.ui.map({
        container: 'map', // OR document.getElementById('map')
      });
    </script>
  </body>
</html>

Remember to provide a width and height on the element the map is being rendered to

Create an autocomplete input

To create an autocomplete input, first initialize the Radar SDK with your publishable key. Then specify the HTML element where you want to render the input.

<html>
  <head>
    <link href="https://js.radar.com/v4.4.7/radar.css" rel="stylesheet">
    <script src="https://js.radar.com/v4.4.7/radar.min.js"></script>
  </head>

  <body>
    <div id="autocomplete"/>

    <script type="text/javascript">
      // initialize Radar SDK
      Radar.initialize('<RADAR_PUBLISHABLE_KEY>');


      // create autocomplete widget
      Radar.ui.autocomplete({
        container: 'autocomplete', // OR document.getElementById('autocomplete')
        responsive: true,
        width: '600px',
        onSelection: (result) => {
          console.log(result);
        },
      });
    </script>
  </body>
</html>

Geofencing

To power geofencing experiences on the web, use the Track API to grab the user's current location for geofence and event detection.

<html>
  <head>
    <link href="https://js.radar.com/v4.4.7/radar.css" rel="stylesheet">
    <script src="https://js.radar.com/v4.4.7/radar.min.js"></script>
  </head>

  <body>
    <script>
      Radar.initialize('<RADAR_PUBLISHABLE_KEY>');

      Radar.trackOnce({ userId: 'example-user-id' })
        .then(({ location, user, events }) => {
          // do something with user location or events
        });
    </script>
  </body>
</html>

See more examples and usage in the Radar web SDK documentation here.

🔗 Other links

📫 Support

Have questions? We're here to help! Email us at [email protected].