deck.gl ScatterplotLayer Example

Demo

Source

<html>
  <head>
    <title>deck.gl ScatterplotLayer Example</title>

    <script src="https://unpkg.com/deck.gl@^9.0.0/dist.min.js"></script>
    <script src='https://unpkg.com/maplibre-gl@3.6.0/dist/maplibre-gl.js'></script>

    <link href='https://unpkg.com/maplibre-gl@3.6.0/dist/maplibre-gl.css' rel='stylesheet' />
    <style type="text/css">
      body {
        width: 100vw;
        height: 100vh;
        margin: 0;
      }
    </style>
  </head>

  <body></body>

  <script type="text/javascript">

    const {DeckGL, ScatterplotLayer} = deck;

    const MALE_COLOR = [0, 128, 255];
    const FEMALE_COLOR = [255, 0, 128];

    new DeckGL({
      mapStyle: 'https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json',
      initialViewState: {
        longitude: -74,
        latitude: 40.76,
        zoom: 11,
        maxZoom: 16
      },
      controller: true,
      layers: [
        new ScatterplotLayer({
          id: 'scatter-plot',
          data: 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/examples/scatterplot/manhattan.json',
          radiusScale: 10,
          radiusMinPixels: 0.5,
          getPosition: d => [d[0], d[1], 0],
          getColor: d => (d[2] === 1 ? MALE_COLOR : FEMALE_COLOR)
        })
      ]
    });

  </script>
</html>