Skip to content

Learn how to display point , line , and polygon graphics in a map .

Click on the polygon graphic to display a pop-up.

Graphics are visual elements used to display points , lines , polygons , and text in a map or scene . Graphics are composed of a geometry , symbol , and attributes , and can display a pop-up when clicked. You typically use graphics to display geographic data that is not connected to a database (i.e. a GPS location).

In this tutorial, you will learn how to display points , lines , and polygons on a map as graphics .

Prerequisites

Steps

Create a new pen

  1. To get started, either complete the Display a map tutorial or .

Get an access token

You need an access token with the correct privileges to access the location services used in this tutorial.

  1. Go to the Create an API key tutorial and create an API key with the following privilege(s) :
    • Privileges
      • Location services > Basemaps
  2. In CodePen, set the apiKey property on the global esriConfig variable to your access token.
    var esriConfig = {
    apiKey: "YOUR_ACCESS_TOKEN",
    };

To learn about other ways to get an access token, go to Types of authentication.

Add modules

  1. In a new <script> at the bottom of the <body>, use $arcgis.import() to add the Map, Graphic and GraphicsLayer modules.

    29 collapsed lines
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>ArcGIS Maps SDK for JavaScript Tutorials: Add a point, line, and polygon</title>
    <style>
    html,
    body {
    height: 100%;
    margin: 0;
    }
    </style>
    <script>
    var esriConfig = { apiKey: "YOUR_ACCESS_TOKEN" };
    </script>
    <!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
    <script type="module" src="https://js.arcgis.com/5.0/"></script>
    </head>
    <body>
    <arcgis-map center="-118.805, 34.020" zoom="13">
    <arcgis-zoom slot="top-left"></arcgis-zoom>
    </arcgis-map>
    <script type="module">
    const [Graphic, Map, GraphicsLayer] = await $arcgis.import([
    "@arcgis/core/Graphic.js",
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/GraphicsLayer.js",
    ]);
    </script>
    4 collapsed lines
    </body>
    </html>

Add a graphics layer

A graphics layer is a container for graphics . It is used with a map view to display graphics on a map . You can add more than one graphics layer to a map . Graphics layers are displayed on top of all other layers .

  1. Create and add a GraphicsLayer for displaying graphics on a map.

    29 collapsed lines
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>ArcGIS Maps SDK for JavaScript Tutorials: Add a point, line, and polygon</title>
    <style>
    html,
    body {
    height: 100%;
    margin: 0;
    }
    </style>
    <script>
    var esriConfig = { apiKey: "YOUR_ACCESS_TOKEN" };
    </script>
    <!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
    <script type="module" src="https://js.arcgis.com/5.0/"></script>
    </head>
    <body>
    <arcgis-map center="-118.805, 34.020" zoom="13">
    <arcgis-zoom slot="top-left"></arcgis-zoom>
    </arcgis-map>
    <script type="module">
    const [Graphic, Map, GraphicsLayer] = await $arcgis.import([
    "@arcgis/core/Graphic.js",
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/GraphicsLayer.js",
    ]);
    const viewElement = document.querySelector("arcgis-map");
    const graphicsLayer = new GraphicsLayer();
    viewElement.map = new Map({ basemap: "arcgis/topographic", layers: [graphicsLayer] });
    </script>
    4 collapsed lines
    </body>
    </html>

Add a point graphic

A point graphic is created using a point and a marker symbol . A point is defined with longitude (x) and latitude (y) coordinates, and a simple symbol is defined with a color and outline. The Point and SimpleMarkerSymbol classes are used to create the point graphic.

  1. Create a point and simpleMarkerSymbol that will be used to create a Graphic.

    42 collapsed lines
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>ArcGIS Maps SDK for JavaScript Tutorials: Add a point, line, and polygon</title>
    <style>
    html,
    body {
    height: 100%;
    margin: 0;
    }
    </style>
    <script>
    var esriConfig = { apiKey: "YOUR_ACCESS_TOKEN" };
    </script>
    <!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
    <script type="module" src="https://js.arcgis.com/5.0/"></script>
    </head>
    <body>
    <arcgis-map center="-118.805, 34.020" zoom="13">
    <arcgis-zoom slot="top-left"></arcgis-zoom>
    </arcgis-map>
    <script type="module">
    const [Graphic, Map, GraphicsLayer] = await $arcgis.import([
    "@arcgis/core/Graphic.js",
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/GraphicsLayer.js",
    ]);
    const viewElement = document.querySelector("arcgis-map");
    const graphicsLayer = new GraphicsLayer();
    viewElement.map = new Map({ basemap: "arcgis/topographic", layers: [graphicsLayer] });
    const point = {
    //Create a point
    type: "point",
    longitude: -118.80657463861,
    latitude: 34.0005930608889,
    };
    const simpleMarkerSymbol = {
    type: "simple-marker",
    color: [226, 119, 40], // Orange
    outline: {
    color: [255, 255, 255], // White
    width: 1,
    },
    };
    5 collapsed lines
    </script>
    </body>
    </html>
  2. Create a Graphic and set the geometry and symbol properties. The Graphic class will autocast point and simpleMarkerSymbol when it is constructed.

    42 collapsed lines
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>ArcGIS Maps SDK for JavaScript Tutorials: Add a point, line, and polygon</title>
    <style>
    html,
    body {
    height: 100%;
    margin: 0;
    }
    </style>
    <script>
    var esriConfig = { apiKey: "YOUR_ACCESS_TOKEN" };
    </script>
    <!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
    <script type="module" src="https://js.arcgis.com/5.0/"></script>
    </head>
    <body>
    <arcgis-map center="-118.805, 34.020" zoom="13">
    <arcgis-zoom slot="top-left"></arcgis-zoom>
    </arcgis-map>
    <script type="module">
    const [Graphic, Map, GraphicsLayer] = await $arcgis.import([
    "@arcgis/core/Graphic.js",
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/GraphicsLayer.js",
    ]);
    const viewElement = document.querySelector("arcgis-map");
    const graphicsLayer = new GraphicsLayer();
    viewElement.map = new Map({ basemap: "arcgis/topographic", layers: [graphicsLayer] });
    const point = {
    //Create a point
    type: "point",
    longitude: -118.80657463861,
    latitude: 34.0005930608889,
    };
    const simpleMarkerSymbol = {
    type: "simple-marker",
    color: [226, 119, 40], // Orange
    outline: {
    color: [255, 255, 255], // White
    width: 1,
    },
    };
    const pointGraphic = new Graphic({ geometry: point, symbol: simpleMarkerSymbol });
    graphicsLayer.add(pointGraphic);
    6 collapsed lines
    </script>
    </body>
    </html>
  3. Verify that the point graphic positioned at Point Dume Beach.

Add a line graphic

A line graphic is created using a polyline and a line symbol . A polyline is defined as a sequence of points and a spatial reference . The Polyline and SimpleLineSymbol classes are used to create a line graphic.

  1. Define the polyline and simpleLineSymbol that will be used to create a Graphic.

    57 collapsed lines
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>ArcGIS Maps SDK for JavaScript Tutorials: Add a point, line, and polygon</title>
    <style>
    html,
    body {
    height: 100%;
    margin: 0;
    }
    </style>
    <script>
    var esriConfig = { apiKey: "YOUR_ACCESS_TOKEN" };
    </script>
    <!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
    <script type="module" src="https://js.arcgis.com/5.0/"></script>
    </head>
    <body>
    <arcgis-map center="-118.805, 34.020" zoom="13">
    <arcgis-zoom slot="top-left"></arcgis-zoom>
    </arcgis-map>
    <script type="module">
    const [Graphic, Map, GraphicsLayer] = await $arcgis.import([
    "@arcgis/core/Graphic.js",
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/GraphicsLayer.js",
    ]);
    const viewElement = document.querySelector("arcgis-map");
    const graphicsLayer = new GraphicsLayer();
    viewElement.map = new Map({ basemap: "arcgis/topographic", layers: [graphicsLayer] });
    const point = {
    //Create a point
    type: "point",
    longitude: -118.80657463861,
    latitude: 34.0005930608889,
    };
    const simpleMarkerSymbol = {
    type: "simple-marker",
    color: [226, 119, 40], // Orange
    outline: {
    color: [255, 255, 255], // White
    width: 1,
    },
    };
    const pointGraphic = new Graphic({ geometry: point, symbol: simpleMarkerSymbol });
    graphicsLayer.add(pointGraphic);
    // Create a line geometry
    const polyline = {
    type: "polyline",
    paths: [
    [-118.821527826096, 34.0139576938577], //Longitude, latitude
    [-118.814893761649, 34.0080602407843], //Longitude, latitude
    [-118.808878330345, 34.0016642996246], //Longitude, latitude
    ],
    };
    const simpleLineSymbol = {
    type: "simple-line",
    color: [226, 119, 40], // Orange
    width: 2,
    };
    6 collapsed lines
    </script>
    </body>
    </html>
  2. Create a Graphic and set the geometry and symbol properties. The Graphic class will autocast the polyline and simpleLineSymbol when it is created.

    60 collapsed lines
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>ArcGIS Maps SDK for JavaScript Tutorials: Add a point, line, and polygon</title>
    <style>
    html,
    body {
    height: 100%;
    margin: 0;
    }
    </style>
    <script>
    var esriConfig = { apiKey: "YOUR_ACCESS_TOKEN" };
    </script>
    <!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
    <script type="module" src="https://js.arcgis.com/5.0/"></script>
    </head>
    <body>
    <arcgis-map center="-118.805, 34.020" zoom="13">
    <arcgis-zoom slot="top-left"></arcgis-zoom>
    </arcgis-map>
    <script type="module">
    const [Graphic, Map, GraphicsLayer] = await $arcgis.import([
    "@arcgis/core/Graphic.js",
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/GraphicsLayer.js",
    ]);
    const viewElement = document.querySelector("arcgis-map");
    const graphicsLayer = new GraphicsLayer();
    viewElement.map = new Map({ basemap: "arcgis/topographic", layers: [graphicsLayer] });
    const point = {
    //Create a point
    type: "point",
    longitude: -118.80657463861,
    latitude: 34.0005930608889,
    };
    const simpleMarkerSymbol = {
    type: "simple-marker",
    color: [226, 119, 40], // Orange
    outline: {
    color: [255, 255, 255], // White
    width: 1,
    },
    };
    const pointGraphic = new Graphic({ geometry: point, symbol: simpleMarkerSymbol });
    graphicsLayer.add(pointGraphic);
    // Create a line geometry
    const polyline = {
    type: "polyline",
    paths: [
    [-118.821527826096, 34.0139576938577], //Longitude, latitude
    [-118.814893761649, 34.0080602407843], //Longitude, latitude
    [-118.808878330345, 34.0016642996246], //Longitude, latitude
    ],
    };
    const simpleLineSymbol = {
    type: "simple-line",
    color: [226, 119, 40], // Orange
    width: 2,
    };
    const polylineGraphic = new Graphic({ geometry: polyline, symbol: simpleLineSymbol });
    graphicsLayer.add(polylineGraphic);
    6 collapsed lines
    </script>
    </body>
    </html>
  3. Verify that the line graphic positioned along Westward Beach.

Add a polygon graphic

A polygon graphic is created using a polygon and a fill symbol . A polygon is defined as a sequence of points (ring) that describe a closed boundary and a spatial reference . The Polygon and SimpleFillSymbol classes are used to create and display a polygon graphic.

  1. Define the polygon and simpleFillSymbol that will be used to create a Graphic

    75 collapsed lines
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>ArcGIS Maps SDK for JavaScript Tutorials: Add a point, line, and polygon</title>
    <style>
    html,
    body {
    height: 100%;
    margin: 0;
    }
    </style>
    <script>
    var esriConfig = { apiKey: "YOUR_ACCESS_TOKEN" };
    </script>
    <!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
    <script type="module" src="https://js.arcgis.com/5.0/"></script>
    </head>
    <body>
    <arcgis-map center="-118.805, 34.020" zoom="13">
    <arcgis-zoom slot="top-left"></arcgis-zoom>
    </arcgis-map>
    <script type="module">
    const [Graphic, Map, GraphicsLayer] = await $arcgis.import([
    "@arcgis/core/Graphic.js",
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/GraphicsLayer.js",
    ]);
    const viewElement = document.querySelector("arcgis-map");
    const graphicsLayer = new GraphicsLayer();
    viewElement.map = new Map({ basemap: "arcgis/topographic", layers: [graphicsLayer] });
    const point = {
    //Create a point
    type: "point",
    longitude: -118.80657463861,
    latitude: 34.0005930608889,
    };
    const simpleMarkerSymbol = {
    type: "simple-marker",
    color: [226, 119, 40], // Orange
    outline: {
    color: [255, 255, 255], // White
    width: 1,
    },
    };
    const pointGraphic = new Graphic({ geometry: point, symbol: simpleMarkerSymbol });
    graphicsLayer.add(pointGraphic);
    // Create a line geometry
    const polyline = {
    type: "polyline",
    paths: [
    [-118.821527826096, 34.0139576938577], //Longitude, latitude
    [-118.814893761649, 34.0080602407843], //Longitude, latitude
    [-118.808878330345, 34.0016642996246], //Longitude, latitude
    ],
    };
    const simpleLineSymbol = {
    type: "simple-line",
    color: [226, 119, 40], // Orange
    width: 2,
    };
    const polylineGraphic = new Graphic({ geometry: polyline, symbol: simpleLineSymbol });
    graphicsLayer.add(polylineGraphic);
    // Create a polygon geometry
    const polygon = {
    type: "polygon",
    rings: [
    [-118.818984489994, 34.0137559967283], //Longitude, latitude
    [-118.806796597377, 34.0215816298725], //Longitude, latitude
    [-118.791432890735, 34.0163883241613], //Longitude, latitude
    [-118.79596686535, 34.008564864635], //Longitude, latitude
    [-118.808558110679, 34.0035027131376], //Longitude, latitude
    ],
    };
    const simpleFillSymbol = {
    type: "simple-fill",
    color: [227, 139, 79, 0.8], // Orange, opacity 80%
    outline: { color: [255, 255, 255], width: 1 },
    };
    6 collapsed lines
    </script>
    </body>
    </html>
  2. Create a Graphic and set the geometry and symbol properties. The Graphic class will autocast the polygon and simpleFillSymbol when it is created.

    78 collapsed lines
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>ArcGIS Maps SDK for JavaScript Tutorials: Add a point, line, and polygon</title>
    <style>
    html,
    body {
    height: 100%;
    margin: 0;
    }
    </style>
    <script>
    var esriConfig = { apiKey: "YOUR_ACCESS_TOKEN" };
    </script>
    <!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
    <script type="module" src="https://js.arcgis.com/5.0/"></script>
    </head>
    <body>
    <arcgis-map center="-118.805, 34.020" zoom="13">
    <arcgis-zoom slot="top-left"></arcgis-zoom>
    </arcgis-map>
    <script type="module">
    const [Graphic, Map, GraphicsLayer] = await $arcgis.import([
    "@arcgis/core/Graphic.js",
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/GraphicsLayer.js",
    ]);
    const viewElement = document.querySelector("arcgis-map");
    const graphicsLayer = new GraphicsLayer();
    viewElement.map = new Map({ basemap: "arcgis/topographic", layers: [graphicsLayer] });
    const point = {
    //Create a point
    type: "point",
    longitude: -118.80657463861,
    latitude: 34.0005930608889,
    };
    const simpleMarkerSymbol = {
    type: "simple-marker",
    color: [226, 119, 40], // Orange
    outline: {
    color: [255, 255, 255], // White
    width: 1,
    },
    };
    const pointGraphic = new Graphic({ geometry: point, symbol: simpleMarkerSymbol });
    graphicsLayer.add(pointGraphic);
    // Create a line geometry
    const polyline = {
    type: "polyline",
    paths: [
    [-118.821527826096, 34.0139576938577], //Longitude, latitude
    [-118.814893761649, 34.0080602407843], //Longitude, latitude
    [-118.808878330345, 34.0016642996246], //Longitude, latitude
    ],
    };
    const simpleLineSymbol = {
    type: "simple-line",
    color: [226, 119, 40], // Orange
    width: 2,
    };
    const polylineGraphic = new Graphic({ geometry: polyline, symbol: simpleLineSymbol });
    graphicsLayer.add(polylineGraphic);
    // Create a polygon geometry
    const polygon = {
    type: "polygon",
    rings: [
    [-118.818984489994, 34.0137559967283], //Longitude, latitude
    [-118.806796597377, 34.0215816298725], //Longitude, latitude
    [-118.791432890735, 34.0163883241613], //Longitude, latitude
    [-118.79596686535, 34.008564864635], //Longitude, latitude
    [-118.808558110679, 34.0035027131376], //Longitude, latitude
    ],
    };
    const simpleFillSymbol = {
    type: "simple-fill",
    color: [227, 139, 79, 0.8], // Orange, opacity 80%
    outline: { color: [255, 255, 255], width: 1 },
    };
    const polygonGraphic = new Graphic({
    geometry: polygon,
    symbol: simpleFillSymbol,
    });
    graphicsLayer.add(polygonGraphic);
    6 collapsed lines
    </script>
    </body>
    </html>
  3. Verify that the polygon graphic positioned on Mahou Riviera.

Create a pop-up

You can display a pop-up for a graphic when it is clicked. The code that creates the polygon graphic to show a pop-up containing the name and description of the graphic uses the attribute and popupTemplate properties.

  1. Define the popupTemplate and attributes before defining the polygonGraphic.

    90 collapsed lines
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>ArcGIS Maps SDK for JavaScript Tutorials: Add a point, line, and polygon</title>
    <style>
    html,
    body {
    height: 100%;
    margin: 0;
    }
    </style>
    <script>
    var esriConfig = { apiKey: "YOUR_ACCESS_TOKEN" };
    </script>
    <!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
    <script type="module" src="https://js.arcgis.com/5.0/"></script>
    </head>
    <body>
    <arcgis-map center="-118.805, 34.020" zoom="13">
    <arcgis-zoom slot="top-left"></arcgis-zoom>
    </arcgis-map>
    <script type="module">
    const [Graphic, Map, GraphicsLayer] = await $arcgis.import([
    "@arcgis/core/Graphic.js",
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/GraphicsLayer.js",
    ]);
    const viewElement = document.querySelector("arcgis-map");
    const graphicsLayer = new GraphicsLayer();
    viewElement.map = new Map({ basemap: "arcgis/topographic", layers: [graphicsLayer] });
    const point = {
    //Create a point
    type: "point",
    longitude: -118.80657463861,
    latitude: 34.0005930608889,
    };
    const simpleMarkerSymbol = {
    type: "simple-marker",
    color: [226, 119, 40], // Orange
    outline: {
    color: [255, 255, 255], // White
    width: 1,
    },
    };
    const pointGraphic = new Graphic({ geometry: point, symbol: simpleMarkerSymbol });
    graphicsLayer.add(pointGraphic);
    // Create a line geometry
    const polyline = {
    type: "polyline",
    paths: [
    [-118.821527826096, 34.0139576938577], //Longitude, latitude
    [-118.814893761649, 34.0080602407843], //Longitude, latitude
    [-118.808878330345, 34.0016642996246], //Longitude, latitude
    ],
    };
    const simpleLineSymbol = {
    type: "simple-line",
    color: [226, 119, 40], // Orange
    width: 2,
    };
    const polylineGraphic = new Graphic({ geometry: polyline, symbol: simpleLineSymbol });
    graphicsLayer.add(polylineGraphic);
    // Create a polygon geometry
    const polygon = {
    type: "polygon",
    rings: [
    [-118.818984489994, 34.0137559967283], //Longitude, latitude
    [-118.806796597377, 34.0215816298725], //Longitude, latitude
    [-118.791432890735, 34.0163883241613], //Longitude, latitude
    [-118.79596686535, 34.008564864635], //Longitude, latitude
    [-118.808558110679, 34.0035027131376], //Longitude, latitude
    ],
    };
    const simpleFillSymbol = {
    type: "simple-fill",
    color: [227, 139, 79, 0.8], // Orange, opacity 80%
    outline: { color: [255, 255, 255], width: 1 },
    };
    const popupTemplate = { title: "{Name}", content: "{Description}" };
    const attributes = { Name: "Graphic", Description: "I am a polygon" };
    13 collapsed lines
    const polygonGraphic = new Graphic({
    geometry: polygon,
    symbol: simpleFillSymbol,
    });
    graphicsLayer.add(polygonGraphic);
    </script>
    </body>
    </html>
  2. Update the polygonGraphic to include the popupTemplate and attribute properties.

    99 collapsed lines
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
    <title>ArcGIS Maps SDK for JavaScript Tutorials: Add a point, line, and polygon</title>
    <style>
    html,
    body {
    height: 100%;
    margin: 0;
    }
    </style>
    <script>
    var esriConfig = { apiKey: "YOUR_ACCESS_TOKEN" };
    </script>
    <!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
    <script type="module" src="https://js.arcgis.com/5.0/"></script>
    </head>
    <body>
    <arcgis-map center="-118.805, 34.020" zoom="13">
    <arcgis-zoom slot="top-left"></arcgis-zoom>
    </arcgis-map>
    <script type="module">
    const [Graphic, Map, GraphicsLayer] = await $arcgis.import([
    "@arcgis/core/Graphic.js",
    "@arcgis/core/Map.js",
    "@arcgis/core/layers/GraphicsLayer.js",
    ]);
    const viewElement = document.querySelector("arcgis-map");
    const graphicsLayer = new GraphicsLayer();
    viewElement.map = new Map({ basemap: "arcgis/topographic", layers: [graphicsLayer] });
    const point = {
    //Create a point
    type: "point",
    longitude: -118.80657463861,
    latitude: 34.0005930608889,
    };
    const simpleMarkerSymbol = {
    type: "simple-marker",
    color: [226, 119, 40], // Orange
    outline: {
    color: [255, 255, 255], // White
    width: 1,
    },
    };
    const pointGraphic = new Graphic({ geometry: point, symbol: simpleMarkerSymbol });
    graphicsLayer.add(pointGraphic);
    // Create a line geometry
    const polyline = {
    type: "polyline",
    paths: [
    [-118.821527826096, 34.0139576938577], //Longitude, latitude
    [-118.814893761649, 34.0080602407843], //Longitude, latitude
    [-118.808878330345, 34.0016642996246], //Longitude, latitude
    ],
    };
    const simpleLineSymbol = {
    type: "simple-line",
    color: [226, 119, 40], // Orange
    width: 2,
    };
    const polylineGraphic = new Graphic({ geometry: polyline, symbol: simpleLineSymbol });
    graphicsLayer.add(polylineGraphic);
    // Create a polygon geometry
    const polygon = {
    type: "polygon",
    rings: [
    [-118.818984489994, 34.0137559967283], //Longitude, latitude
    [-118.806796597377, 34.0215816298725], //Longitude, latitude
    [-118.791432890735, 34.0163883241613], //Longitude, latitude
    [-118.79596686535, 34.008564864635], //Longitude, latitude
    [-118.808558110679, 34.0035027131376], //Longitude, latitude
    ],
    };
    const simpleFillSymbol = {
    type: "simple-fill",
    color: [227, 139, 79, 0.8], // Orange, opacity 80%
    outline: { color: [255, 255, 255], width: 1 },
    };
    const popupTemplate = { title: "{Name}", content: "{Description}" };
    const attributes = { Name: "Graphic", Description: "I am a polygon" };
    const polygonGraphic = new Graphic({
    geometry: polygon,
    symbol: simpleFillSymbol,
    attributes: attributes,
    popupTemplate: popupTemplate,
    });
    graphicsLayer.add(polygonGraphic);
    6 collapsed lines
    </script>
    </body>
    </html>

Run the app

In CodePen, run your code to display the map.

The map should display all three graphics. When you click on the polygon, it should show a pop-up.

What’s next?

Learn how to use additional SDK features and ArcGIS services in these tutorials: