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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4c199ec Β· Mar 27, 2025
Jul 23, 2023
Jul 21, 2023
Oct 31, 2024
Jul 21, 2023
Aug 14, 2024
Oct 2, 2023
Mar 27, 2025
Aug 14, 2024
Jan 22, 2025
Apr 8, 2020
Nov 20, 2018
Jun 6, 2024
Oct 31, 2024
Oct 31, 2024
Jul 21, 2023
Oct 31, 2024
Mar 27, 2025
Oct 31, 2024
Jul 21, 2023
Mar 27, 2025
Mar 27, 2025
Aug 20, 2024
Jun 6, 2024

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.5.1/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.5.1/radar.css" rel="stylesheet">
    <script src="https://js.radar.com/v4.5.1/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.5.1/radar.css" rel="stylesheet">
    <script src="https://js.radar.com/v4.5.1/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.5.1/radar.css" rel="stylesheet">
    <script src="https://js.radar.com/v4.5.1/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 support@radar.com.