Show city boundaries with MapLibre

Estimated reading time: 1 minute

This example uses JawgPlaces.MapLibre to initialize the Jawg Places MapLibre Plugin on a webpage with a MapLibre or Mapbox map. It will return only results from the datasource Who's On First. This source contains only administrative places such as cities, states and countries. When you will select a city, it will display its boundaries, this is the purpose of this example. Let's try with Paris, New York, London and Texas.

Checkout all options available on Jawg Places JS for MapLibre GL JS on our type documentation.

💡 Don't forget to call either map.addControl(jawgPlaces) or jawgPlaces.attachMap(map) to initialize and connect the input to the map.

The value <YOUR_ACCESS_TOKEN> in the <script> tag must be replaced by your own access token from the Jawg Lab.

This example is fully compatible with Mapbox, you can use JawgPlaces.Mapbox and load mapbox scripts.

View on GitHub

<html>
  <head>
    <script src="https://api.jawg.io/libraries/jawg-places@latest/jawg-places.js?access-token=<YOUR_ACCESS_TOKEN>"></script>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/maplibre-gl.min.css" />
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/maplibre-gl.min.js"></script>
  </head>
  <body>
    <div id="my-map" style="height: 100%; min-height: 500px"></div>
    <script>
      const map = new maplibregl.Map({
        container: 'my-map',
        style: `https://api.jawg.io/styles/jawg-sunny.json?access-token=<YOUR_ACCESS_TOKEN>`,
        center: [0, 0],
        zoom: 1,
      });
      map.addControl(new maplibregl.NavigationControl());
      map.addControl(
        new JawgPlaces.MapLibre({
          searchOnTyping: true,
          adminArea: {
            fillColor: 'rgba(172,59,246, 0.1)',
            outlineColor: 'rgb(172,59,246)',
            show: true,
          },
          sources: 'wof',
        }),
      );
    </script>
  </body>
</html>