How to use
- Copy the installation command and review the source package before installing it in your own agent environment.
- Check the source document for required tools, credentials and supported hosts.
- Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/saschabrunnerch/arcgis-maps-sdk-js-ai-context --skill arcgis-embeddable-mapsBefore you start
- Installation does not include a model subscription, API allowance or permission to access your files.
- Repository stars and installation counts describe activity, not an independent quality or security test.
Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
ArcGIS Embeddable Maps
Use this skill when embedding a lightweight, self-contained map into a web page with minimal code. The @arcgis/embeddable-components package provides the arcgis-embedded-map web component - a single element that bundles a WebMap viewer with optional built-in UI controls (legend, bookmarks, basemap gallery, fullscreen). This is a new component package in 5.0 with no 4.x equivalent.
When to use `arcgis-embedded-map` vs `arcgis-map`: Usearcgis-embedded-mapfor simple, read-only map embeds (blogs, dashboards, reports) where you don't need custom widgets, editing, or programmatic map control. Usearcgis-map(seearcgis-core-maps) for full-featured applications.
Import Patterns
CDN (No Build Tools)
<!-- Load ArcGIS Maps SDK -->
<script src="https://js.arcgis.com/5.0/"></script>
<!-- Load Embeddable Components -->
<script
type="module"
src="https://js.arcgis.com/5.0/embeddable-components/"
></script>Direct ESM Imports (Build Tools)
import "@arcgis/embeddable-components/components/arcgis-embedded-map";arcgis-embedded-map Component
Properties
| Property | Attribute | Type | Default | Description | |
|---|---|---|---|---|---|
itemId | item-id | string | - | Required. Portal item ID of a WebMap | |
portalUrl | portal-url | string | "https://www.arcgis.com" | Portal URL (ArcGIS Online or Enterprise) | |
apiKey | api-key | string | - | API key for accessing the resource | |
center | center | `number[] \ | Point` | - | View center [longitude, latitude] |
zoom | zoom | number | - | Zoom level | |
scale | scale | string | - | Map scale at center | |
extent | - | Extent | - | Visible map extent (set via JS) | |
webMap | - | WebMap | - | WebMap instance (set via JS, alternative to itemId) | |
theme | theme | string | "light" | Component theme: "light" or "dark" |
UI Control Properties
| Property | Attribute | Type | Default | Description |
|---|---|---|---|---|
headingEnabled | heading-enabled | boolean | false | Show the WebMap title |
legendEnabled | legend-enabled | boolean | false | Show the legend panel |
bookmarksEnabled | bookmarks-enabled | boolean | false | Show bookmarks panel |
basemapGalleryEnabled | basemap-gallery-enabled | boolean | false | Show basemap gallery panel |
informationEnabled | information-enabled | boolean | false | Show information panel |
shareEnabled | share-enabled | boolean | false | Show button to open in Map Viewer |
fullscreenDisabled | fullscreen-disabled | boolean | false | Disable the fullscreen button |
scrollEnabled | scroll-enabled | boolean | true | Enable mouse wheel scroll zooming |
timeZoneLabelEnabled | time-zone-label-enabled | boolean | false | Show time zone labels |
Methods
| Method | Returns | Description |
|---|---|---|
componentOnReady() | Promise<void> | Resolves when the component is fully loaded |
Basic Usage
Minimal Embed
<arcgis-embedded-map
item-id="f2e9b762544945f390ca4ac3671cfa72"
style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>Embed with All UI Controls
<arcgis-embedded-map
item-id="f2e9b762544945f390ca4ac3671cfa72"
heading-enabled
legend-enabled
bookmarks-enabled
basemap-gallery-enabled
information-enabled
share-enabled
style="width: 100%; height: 500px;"
>
</arcgis-embedded-map>Dark Theme
<arcgis-embedded-map
item-id="f2e9b762544945f390ca4ac3671cfa72"
theme="dark"
legend-enabled
style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>Custom Center and Zoom
<arcgis-embedded-map
item-id="f2e9b762544945f390ca4ac3671cfa72"
center="-118.24,34.05"
zoom="12"
style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>Disable Scroll Zoom (For Inline Content)
<arcgis-embedded-map
item-id="f2e9b762544945f390ca4ac3671cfa72"
scroll-enabled="false"
style="width: 100%; height: 400px;"
>
</arcgis-embedded-map>With API Key
<arcgis-embedded-map
item-id="YOUR_ITEM_ID"
api-key="YOUR_API_KEY"
portal-url="https://www.arcgis.com"
legend-enabled
style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>Enterprise Portal
<arcgis-embedded-map
item-id="YOUR_ENTERPRISE_ITEM_ID"
portal-url="https://your-enterprise.com/portal"
heading-enabled
legend-enabled
style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>CDN Full Example
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Embedded Map</title>
<script src="https://js.arcgis.com/5.0/"></script>
<script
type="module"
src="https://js.arcgis.com/5.0/embeddable-components/"
></script>
<style>
body {
font-family: sans-serif;
max-width: 900px;
margin: 0 auto;
padding: 20px;
}
arcgis-embedded-map {
width: 100%;
height: 500px;
display: block;
margin: 20px 0;
}
</style>
</head>
<body>
<h1>City Demographics</h1>
<p>Explore population data across the region.</p>
<arcgis-embedded-map
item-id="f2e9b762544945f390ca4ac3671cfa72"
heading-enabled
legend-enabled
bookmarks-enabled
theme="light"
>
</arcgis-embedded-map>
<p>Data source: US Census Bureau</p>
</body>
</html>Programmatic Configuration
Setting Extent via JavaScript
const embeddedMap = document.querySelector("arcgis-embedded-map");
await embeddedMap.componentOnReady();
embeddedMap.extent = {
xmin: -118.5,
ymin: 33.8,
xmax: -117.9,
ymax: 34.3,
spatialReference: { wkid: 4326 },
};Using a WebMap Instance
const WebMap = await $arcgis.import("@arcgis/core/WebMap.js");
const webMap = new WebMap({
portalItem: { id: "f2e9b762544945f390ca4ac3671cfa72" },
});
const embeddedMap = document.querySelector("arcgis-embedded-map");
embeddedMap.webMap = webMap;Theming with CSS Variables
The component supports Calcite Design System CSS variables:
arcgis-embedded-map {
--calcite-color-brand: #007ac2;
--calcite-color-foreground-1: #ffffff;
--calcite-color-text-1: #151515;
--calcite-color-border-1: #cacaca;
}Common Pitfalls
- Missing `item-id`: The component requires a WebMap portal item ID.
<!-- Anti-pattern: no item-id -->
<arcgis-embedded-map style="width: 800px; height: 600px;">
</arcgis-embedded-map> <!-- Correct: provide item-id -->
<arcgis-embedded-map
item-id="f2e9b762544945f390ca4ac3671cfa72"
style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>Impact: The component renders an empty container with no map.
- Missing embeddable-components script: The package must be loaded separately.
<!-- Anti-pattern: only loading core SDK -->
<script src="https://js.arcgis.com/5.0/"></script>
<arcgis-embedded-map item-id="abc123"></arcgis-embedded-map> <!-- Correct: load embeddable-components -->
<script src="https://js.arcgis.com/5.0/"></script>
<script
type="module"
src="https://js.arcgis.com/5.0/embeddable-components/"
></script>
<arcgis-embedded-map item-id="abc123"></arcgis-embedded-map>Impact: The element is unrecognized and renders as empty.
- No explicit size: The embedded map needs width and height to render visibly.
<!-- Anti-pattern: no size set -->
<arcgis-embedded-map item-id="abc123"></arcgis-embedded-map> <!-- Correct: explicit dimensions -->
<arcgis-embedded-map
item-id="abc123"
style="width: 100%; height: 500px; display: block;"
>
</arcgis-embedded-map>Impact: The map renders with zero height and is invisible on the page.
- Using `arcgis-embedded-map` for interactive apps: This component is designed for simple embeds. It does not support custom widgets, editing, layer manipulation, or programmatic view control. Use
arcgis-mapfrom@arcgis/map-componentsfor full applications.
Impact: Attempting to add widgets or edit features fails silently.
- Scroll zoom in long pages: When the embedded map is inline with scrollable content, scroll zoom can trap users. Disable it for better UX.
<arcgis-embedded-map
item-id="abc123"
scroll-enabled="false"
style="width: 100%; height: 400px;"
>
</arcgis-embedded-map>Impact: Users get stuck zooming the map when they want to scroll the page.
Reference Samples
- Search for embedded map samples demonstrating lightweight WebMap embedding.
Related Skills
- See
arcgis-core-mapsfor full-featured map applications usingarcgis-mapandarcgis-scene. - See
arcgis-starter-appfor project scaffolding and CDN setup. - See
arcgis-authenticationfor API key and portal authentication.


