CINXE.COM
<!doctype html> <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/layers/path-layer" data-has-hydrated="false"> <head> <meta charset="UTF-8"> <meta name="generator" content="Docusaurus v3.6.3"> <title data-rh="true">PathLayer | deck.gl</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://deck.gl/docs/api-reference/layers/path-layer"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="PathLayer | deck.gl"><meta data-rh="true" name="description" content="The PathLayer renders lists of coordinate points as extruded polylines with mitering."><meta data-rh="true" property="og:description" content="The PathLayer renders lists of coordinate points as extruded polylines with mitering."><link data-rh="true" rel="icon" href="/favicon.ico"><link data-rh="true" rel="canonical" href="https://deck.gl/docs/api-reference/layers/path-layer"><link data-rh="true" rel="alternate" href="https://deck.gl/docs/api-reference/layers/path-layer" hreflang="en"><link data-rh="true" rel="alternate" href="https://deck.gl/docs/api-reference/layers/path-layer" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://8EVYAVB4KT-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.7126b5a0.css"> <script src="/assets/js/runtime~main.90088244.js" defer="defer"></script> <script src="/assets/js/main.764c9a29.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/images/visgl-logo-dark.png" alt="vis.gl Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/images/visgl-logo-light.png" alt="vis.gl Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">deck.gl</b></a><a class="navbar__item navbar__link" href="/examples">Examples</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs">Docs</a><a class="navbar__item navbar__link" href="/showcase">Showcase</a><a href="https://medium.com/vis-gl" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Blog</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/visgl/deck.gl" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs">Overview</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/get-started/getting-started">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/developer-guide/using-layers">Developer Guide</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/docs/api-reference/core/deck">API Reference</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/api-reference/core/deck">Core Classes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" tabindex="0" href="/docs/api-reference/layers">Layers</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers">Layer Catalog Overview</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/core/layer">Layer Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/core/composite-layer">CompositeLayer Class</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/arc-layer">ArcLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/bitmap-layer">BitmapLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/column-layer">ColumnLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/aggregation-layers/contour-layer">ContourLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/geohash-layer">GeohashLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/geojson-layer">GeoJsonLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/great-circle-layer">GreatCircleLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/grid-cell-layer">GridCellLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/aggregation-layers/grid-layer">GridLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/h3-cluster-layer">H3ClusterLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/h3-hexagon-layer">H3HexagonLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/aggregation-layers/heatmap-layer">HeatmapLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/aggregation-layers/hexagon-layer">HexagonLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/icon-layer">IconLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/line-layer">LineLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/mvt-layer">MVTLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/api-reference/layers/path-layer">PathLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/point-cloud-layer">PointCloudLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/polygon-layer">PolygonLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/quadkey-layer">QuadkeyLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/s2-layer">S2Layer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/scatterplot-layer">ScatterplotLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/mesh-layers/scenegraph-layer">ScenegraphLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/aggregation-layers/screen-grid-layer">ScreenGridLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/mesh-layers/simple-mesh-layer">SimpleMeshLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/solid-polygon-layer">SolidPolygonLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/terrain-layer">TerrainLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/layers/text-layer">TextLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/tile-layer">TileLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/tile-3d-layer">Tile3DLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/trips-layer">TripsLayer</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/api-reference/geo-layers/wms-layer">WMSLayer (Experimental)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/api-reference/aggregation-layers/overview">Aggregation Layers</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/api-reference/core/deckgl">Scripting Interface</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/api-reference/core/project">Shader Modules</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/api-reference/core/viewport">Viewports</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/api-reference/core/view">Views</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/api-reference/core/controller">Controllers</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/api-reference/core/linear-interpolator">Transitions</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/api-reference/core/lighting-effect">Effects</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/api-reference/core/ambient-light">Lights</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/api-reference/arcgis/overview">Submodule API Reference</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">API Reference</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Layers</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">PathLayer</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>PathLayer</h1></header> <!-- --> <div class="demo-base__DemoPlaceholder-sc-bhdrci-0 fBopzi"><div class="demo-base__DemoContainer-sc-bhdrci-1 iJsckf"><div id="deckgl-wrapper" style="position:absolute;z-index:0;left:0;top:0;width:100%;height:100%"><canvas id="deckgl-overlay" style="left:0;top:0"></canvas></div></div><div class="demo-base__DemoSourceLink-sc-bhdrci-2 iVVltR"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0V0z" fill="none"></path><path fill="currentcolor" d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"></path></svg>Edit on Codepen</div></div> <p>The <code>PathLayer</code> renders lists of coordinate points as extruded polylines with mitering.</p> <!-- --> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">JavaScript</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">TypeScript</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">React</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#403f53;background-color:#FBFBFB"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token keyword module" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token imports maybe-class-name">Deck</span><span class="token imports punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword module" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'@deck.gl/core'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword module" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token imports maybe-class-name">PathLayer</span><span class="token imports punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword module" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'@deck.gl/layers'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> layer </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">PathLayer</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token literal-property property" style="color:rgb(12, 150, 155)">id</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'PathLayer'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token literal-property property" style="color:rgb(12, 150, 155)">data</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'https://raw.githubusercontent.com/visgl/deck.gl-data/master/website/bart-lines.json'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getColor</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token parameter">d</span><span class="token plain"> </span><span class="token arrow operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> hex </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token property-access">color</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// convert to RGB</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword control-flow" style="color:rgb(12, 150, 155)">return</span><span class="token plain"> hex</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token method function property-access" style="color:rgb(153, 76, 195);font-style:italic">match</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token regex regex-delimiter">/</span><span class="token regex regex-source language-regex char-class char-class-punctuation punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token regex regex-source language-regex char-class range">0</span><span class="token regex regex-source language-regex char-class range range-punctuation operator" style="color:rgb(12, 150, 155)">-</span><span class="token regex regex-source language-regex char-class range">9</span><span class="token regex regex-source language-regex char-class range">a</span><span class="token regex regex-source language-regex char-class range range-punctuation operator" style="color:rgb(12, 150, 155)">-</span><span class="token regex regex-source language-regex char-class range">f</span><span class="token regex regex-source language-regex char-class char-class-punctuation punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token regex regex-source language-regex quantifier number" style="color:rgb(170, 9, 130)">{2}</span><span class="token regex regex-delimiter">/</span><span class="token regex regex-flags">g</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token method function property-access" style="color:rgb(153, 76, 195);font-style:italic">map</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token parameter">x</span><span class="token plain"> </span><span class="token arrow operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> </span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">parseInt</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">x</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">16</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getPath</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token parameter">d</span><span class="token plain"> </span><span class="token arrow operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token property-access">path</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token literal-property property" style="color:rgb(12, 150, 155)">getWidth</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">100</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token literal-property property" style="color:rgb(12, 150, 155)">pickable</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(188, 84, 84)">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">Deck</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token literal-property property" style="color:rgb(12, 150, 155)">initialViewState</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token literal-property property" style="color:rgb(12, 150, 155)">longitude</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">-</span><span class="token number" style="color:rgb(170, 9, 130)">122.4</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token literal-property property" style="color:rgb(12, 150, 155)">latitude</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">37.74</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token literal-property property" style="color:rgb(12, 150, 155)">zoom</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">11</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token literal-property property" style="color:rgb(12, 150, 155)">controller</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(188, 84, 84)">true</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getTooltip</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token parameter punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token parameter">object</span><span class="token parameter punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> object </span><span class="token operator" style="color:rgb(12, 150, 155)">&&</span><span class="token plain"> object</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token property-access">name</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token literal-property property" style="color:rgb(12, 150, 155)">layers</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token plain">layer</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-ts codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-ts codeBlock_bY9V thin-scrollbar" style="color:#403f53;background-color:#FBFBFB"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain">Deck</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> PickingInfo</span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'@deck.gl/core'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain">PathLayer</span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'@deck.gl/layers'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">type</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">BartLine</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> name</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(72, 118, 214)">string</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> color</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(72, 118, 214)">string</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> path</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token plain">longitude</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(72, 118, 214)">number</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> latitude</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(72, 118, 214)">number</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> layer </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">PathLayer</span><span class="token class-name operator" style="color:rgb(12, 150, 155)"><</span><span class="token class-name" style="color:rgb(17, 17, 17)">BartLine</span><span class="token class-name operator" style="color:rgb(12, 150, 155)">></span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> id</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'PathLayer'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> data</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'https://raw.githubusercontent.com/visgl/deck.gl-data/master/website/bart-lines.json'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getColor</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">d</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> BartLine</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> hex </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">color</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// convert to RGB</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">return</span><span class="token plain"> hex</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">match</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token regex regex-delimiter">/</span><span class="token regex regex-source language-regex char-class char-class-punctuation punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token regex regex-source language-regex char-class range">0</span><span class="token regex regex-source language-regex char-class range range-punctuation operator" style="color:rgb(12, 150, 155)">-</span><span class="token regex regex-source language-regex char-class range">9</span><span class="token regex regex-source language-regex char-class range">a</span><span class="token regex regex-source language-regex char-class range range-punctuation operator" style="color:rgb(12, 150, 155)">-</span><span class="token regex regex-source language-regex char-class range">f</span><span class="token regex regex-source language-regex char-class char-class-punctuation punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token regex regex-source language-regex quantifier number" style="color:rgb(170, 9, 130)">{2}</span><span class="token regex regex-delimiter">/</span><span class="token regex regex-flags">g</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">map</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">x </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> </span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">parseInt</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">x</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">16</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getPath</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">d</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> BartLine</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">path</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> getWidth</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">100</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> pickable</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(188, 84, 84)">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">Deck</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> initialViewState</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> longitude</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">-</span><span class="token number" style="color:rgb(170, 9, 130)">122.4</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> latitude</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">37.74</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> zoom</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">11</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> controller</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(188, 84, 84)">true</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getTooltip</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain">object</span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> PickingInfo</span><span class="token operator" style="color:rgb(12, 150, 155)"><</span><span class="token plain">BartLine</span><span class="token operator" style="color:rgb(12, 150, 155)">></span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> object </span><span class="token operator" style="color:rgb(12, 150, 155)">&&</span><span class="token plain"> object</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">name</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> layers</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token plain">layer</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-tsx codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-tsx codeBlock_bY9V thin-scrollbar" style="color:#403f53;background-color:#FBFBFB"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">React</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'react'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">DeckGL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'@deck.gl/react'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token imports maybe-class-name">PathLayer</span><span class="token imports punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'@deck.gl/layers'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">type</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token maybe-class-name">PickingInfo</span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'@deck.gl/core'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">type</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">BartLine</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> name</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(72, 118, 214)">string</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> color</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(72, 118, 214)">string</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> path</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token plain">longitude</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(72, 118, 214)">number</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> latitude</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(72, 118, 214)">number</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">function</span><span class="token plain"> </span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">App</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> layer </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">PathLayer</span><span class="token class-name operator" style="color:rgb(12, 150, 155)"><</span><span class="token class-name" style="color:rgb(17, 17, 17)">BartLine</span><span class="token class-name operator" style="color:rgb(12, 150, 155)">></span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> id</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'PathLayer'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> data</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'https://raw.githubusercontent.com/visgl/deck.gl-data/master/website/bart-lines.json'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getColor</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">d</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token maybe-class-name">BartLine</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> hex </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token property-access">color</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// convert to RGB</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">return</span><span class="token plain"> hex</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token method function property-access" style="color:rgb(153, 76, 195);font-style:italic">match</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token regex regex-delimiter">/</span><span class="token regex regex-source language-regex char-class char-class-punctuation punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token regex regex-source language-regex char-class range">0</span><span class="token regex regex-source language-regex char-class range range-punctuation operator" style="color:rgb(12, 150, 155)">-</span><span class="token regex regex-source language-regex char-class range">9</span><span class="token regex regex-source language-regex char-class range">a</span><span class="token regex regex-source language-regex char-class range range-punctuation operator" style="color:rgb(12, 150, 155)">-</span><span class="token regex regex-source language-regex char-class range">f</span><span class="token regex regex-source language-regex char-class char-class-punctuation punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token regex regex-source language-regex quantifier number" style="color:rgb(170, 9, 130)">{2}</span><span class="token regex regex-delimiter">/</span><span class="token regex regex-flags">g</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token method function property-access" style="color:rgb(153, 76, 195);font-style:italic">map</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">x </span><span class="token arrow operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> </span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">parseInt</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">x</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">16</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getPath</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">d</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token maybe-class-name">BartLine</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token property-access">path</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> getWidth</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">100</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> pickable</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(188, 84, 84)">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">return</span><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(153, 76, 195)"><</span><span class="token tag class-name" style="color:rgb(17, 17, 17)">DeckGL</span><span class="token tag" style="color:rgb(153, 76, 195)"></span><br></span><span class="token-line" style="color:#403f53"><span class="token tag" style="color:rgb(153, 76, 195)"> </span><span class="token tag attr-name" style="color:rgb(72, 118, 214);font-style:italic">initialViewState</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:rgb(153, 76, 195)">=</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"></span><br></span><span class="token-line" style="color:#403f53"><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> longitude</span><span class="token tag script language-javascript operator" style="color:rgb(12, 150, 155)">:</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> </span><span class="token tag script language-javascript operator" style="color:rgb(12, 150, 155)">-</span><span class="token tag script language-javascript number" style="color:rgb(170, 9, 130)">122.4</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"></span><br></span><span class="token-line" style="color:#403f53"><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> latitude</span><span class="token tag script language-javascript operator" style="color:rgb(12, 150, 155)">:</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> </span><span class="token tag script language-javascript number" style="color:rgb(170, 9, 130)">37.74</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"></span><br></span><span class="token-line" style="color:#403f53"><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> zoom</span><span class="token tag script language-javascript operator" style="color:rgb(12, 150, 155)">:</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> </span><span class="token tag script language-javascript number" style="color:rgb(170, 9, 130)">11</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"></span><br></span><span class="token-line" style="color:#403f53"><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> </span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token tag" style="color:rgb(153, 76, 195)"></span><br></span><span class="token-line" style="color:#403f53"><span class="token tag" style="color:rgb(153, 76, 195)"> </span><span class="token tag attr-name" style="color:rgb(72, 118, 214);font-style:italic">controller</span><span class="token tag" style="color:rgb(153, 76, 195)"></span><br></span><span class="token-line" style="color:#403f53"><span class="token tag" style="color:rgb(153, 76, 195)"> </span><span class="token tag attr-name" style="color:rgb(72, 118, 214);font-style:italic">getTooltip</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:rgb(153, 76, 195)">=</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)">object</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token tag script language-javascript operator" style="color:rgb(12, 150, 155)">:</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> </span><span class="token tag script language-javascript maybe-class-name" style="color:rgb(153, 76, 195)">PickingInfo</span><span class="token tag script language-javascript operator" style="color:rgb(12, 150, 155)"><</span><span class="token tag script language-javascript maybe-class-name" style="color:rgb(153, 76, 195)">BartLine</span><span class="token tag script language-javascript operator" style="color:rgb(12, 150, 155)">></span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> </span><span class="token tag script language-javascript arrow operator" style="color:rgb(12, 150, 155)">=></span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> object </span><span class="token tag script language-javascript operator" style="color:rgb(12, 150, 155)">&&</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)"> object</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token tag script language-javascript property-access" style="color:rgb(153, 76, 195)">name</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token tag" style="color:rgb(153, 76, 195)"></span><br></span><span class="token-line" style="color:#403f53"><span class="token tag" style="color:rgb(153, 76, 195)"> </span><span class="token tag attr-name" style="color:rgb(72, 118, 214);font-style:italic">layers</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:rgb(153, 76, 195)">=</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token tag script language-javascript" style="color:rgb(153, 76, 195)">layer</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token tag script language-javascript punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token tag" style="color:rgb(153, 76, 195)"></span><br></span><span class="token-line" style="color:#403f53"><span class="token tag" style="color:rgb(153, 76, 195)"> </span><span class="token tag punctuation" style="color:rgb(153, 76, 195)">/></span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="installation">Installation<a href="#installation" class="hash-link" aria-label="Direct link to Installation" title="Direct link to Installation"></a></h2> <p>To install the dependencies from NPM:</p> <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#403f53;background-color:#FBFBFB"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token plain">npm install deck.gl</span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"># or</span><br></span><span class="token-line" style="color:#403f53"><span class="token plain">npm install @deck.gl/core @deck.gl/layers</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <div class="language-ts codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-ts codeBlock_bY9V thin-scrollbar" style="color:#403f53;background-color:#FBFBFB"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain">PathLayer</span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'@deck.gl/layers'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">type</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain">PathLayerProps</span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'@deck.gl/layers'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">PathLayer</span><span class="token class-name operator" style="color:rgb(12, 150, 155)"><</span><span class="token class-name" style="color:rgb(17, 17, 17)">DataT</span><span class="token class-name operator" style="color:rgb(12, 150, 155)">></span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token operator" style="color:rgb(12, 150, 155)">...</span><span class="token plain">props</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> PathLayerProps</span><span class="token operator" style="color:rgb(12, 150, 155)"><</span><span class="token plain">DataT</span><span class="token operator" style="color:rgb(12, 150, 155)">></span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>To use pre-bundled scripts:</p> <div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar" style="color:#403f53;background-color:#FBFBFB"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token tag punctuation" style="color:rgb(153, 76, 195)"><</span><span class="token tag" style="color:rgb(153, 76, 195)">script</span><span class="token tag" style="color:rgb(153, 76, 195)"> </span><span class="token tag attr-name" style="color:rgb(72, 118, 214);font-style:italic">src</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(153, 76, 195)">=</span><span class="token tag attr-value punctuation" style="color:rgb(153, 76, 195)">"</span><span class="token tag attr-value" style="color:rgb(153, 76, 195)">https://unpkg.com/deck.gl@^9.0.0/dist.min.js</span><span class="token tag attr-value punctuation" style="color:rgb(153, 76, 195)">"</span><span class="token tag punctuation" style="color:rgb(153, 76, 195)">></span><span class="token script"></span><span class="token tag punctuation" style="color:rgb(153, 76, 195)"></</span><span class="token tag" style="color:rgb(153, 76, 195)">script</span><span class="token tag punctuation" style="color:rgb(153, 76, 195)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic"><!-- or --></span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(153, 76, 195)"><</span><span class="token tag" style="color:rgb(153, 76, 195)">script</span><span class="token tag" style="color:rgb(153, 76, 195)"> </span><span class="token tag attr-name" style="color:rgb(72, 118, 214);font-style:italic">src</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(153, 76, 195)">=</span><span class="token tag attr-value punctuation" style="color:rgb(153, 76, 195)">"</span><span class="token tag attr-value" style="color:rgb(153, 76, 195)">https://unpkg.com/@deck.gl/core@^9.0.0/dist.min.js</span><span class="token tag attr-value punctuation" style="color:rgb(153, 76, 195)">"</span><span class="token tag punctuation" style="color:rgb(153, 76, 195)">></span><span class="token script"></span><span class="token tag punctuation" style="color:rgb(153, 76, 195)"></</span><span class="token tag" style="color:rgb(153, 76, 195)">script</span><span class="token tag punctuation" style="color:rgb(153, 76, 195)">></span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(153, 76, 195)"><</span><span class="token tag" style="color:rgb(153, 76, 195)">script</span><span class="token tag" style="color:rgb(153, 76, 195)"> </span><span class="token tag attr-name" style="color:rgb(72, 118, 214);font-style:italic">src</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(153, 76, 195)">=</span><span class="token tag attr-value punctuation" style="color:rgb(153, 76, 195)">"</span><span class="token tag attr-value" style="color:rgb(153, 76, 195)">https://unpkg.com/@deck.gl/layers@^9.0.0/dist.min.js</span><span class="token tag attr-value punctuation" style="color:rgb(153, 76, 195)">"</span><span class="token tag punctuation" style="color:rgb(153, 76, 195)">></span><span class="token script"></span><span class="token tag punctuation" style="color:rgb(153, 76, 195)"></</span><span class="token tag" style="color:rgb(153, 76, 195)">script</span><span class="token tag punctuation" style="color:rgb(153, 76, 195)">></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#403f53;background-color:#FBFBFB"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">deck</span><span class="token class-name punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token class-name" style="color:rgb(17, 17, 17)">PathLayer</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="properties">Properties<a href="#properties" class="hash-link" aria-label="Direct link to Properties" title="Direct link to Properties"></a></h2> <p>Inherits from all <a href="/docs/api-reference/core/layer">Base Layer</a> properties.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="render-options">Render Options<a href="#render-options" class="hash-link" aria-label="Direct link to Render Options" title="Direct link to Render Options"></a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="widthunits"><code>widthUnits</code> (string, optional)<a href="#widthunits" class="hash-link" aria-label="Direct link to widthunits" title="Direct link to widthunits"></a></h4> <ul> <li>Default: <code>'meters'</code></li> </ul> <p>The units of the line width, one of <code>'meters'</code>, <code>'common'</code>, and <code>'pixels'</code>. See <a href="/docs/developer-guide/coordinate-systems#supported-units">unit system</a>.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="widthscale"><code>widthScale</code> (number, optional) <img decoding="async" loading="lazy" src="https://img.shields.io/badge/transition-enabled-green.svg?style=flat-square%22" alt="transition-enabled" class="img_ev3q"><a href="#widthscale" class="hash-link" aria-label="Direct link to widthscale" title="Direct link to widthscale"></a></h4> <ul> <li>Default: <code>1</code></li> </ul> <p>The path width multiplier that multiplied to all paths.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="widthminpixels"><code>widthMinPixels</code> (number, optional) <img decoding="async" loading="lazy" src="https://img.shields.io/badge/transition-enabled-green.svg?style=flat-square%22" alt="transition-enabled" class="img_ev3q"><a href="#widthminpixels" class="hash-link" aria-label="Direct link to widthminpixels" title="Direct link to widthminpixels"></a></h4> <ul> <li>Default: <code>0</code></li> </ul> <p>The minimum path width in pixels. This prop can be used to prevent the path from getting too thin when zoomed out.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="widthmaxpixels"><code>widthMaxPixels</code> (number, optional) <img decoding="async" loading="lazy" src="https://img.shields.io/badge/transition-enabled-green.svg?style=flat-square%22" alt="transition-enabled" class="img_ev3q"><a href="#widthmaxpixels" class="hash-link" aria-label="Direct link to widthmaxpixels" title="Direct link to widthmaxpixels"></a></h4> <ul> <li>Default: Number.MAX_SAFE_INTEGER</li> </ul> <p>The maximum path width in pixels. This prop can be used to prevent the path from getting too thick when zoomed in.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="caprounded"><code>capRounded</code> (boolean, optional)<a href="#caprounded" class="hash-link" aria-label="Direct link to caprounded" title="Direct link to caprounded"></a></h4> <ul> <li>Default: <code>false</code></li> </ul> <p>Type of caps. If <code>true</code>, draw round caps. Otherwise draw square caps.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="jointrounded"><code>jointRounded</code> (boolean, optional)<a href="#jointrounded" class="hash-link" aria-label="Direct link to jointrounded" title="Direct link to jointrounded"></a></h4> <ul> <li>Default: <code>false</code></li> </ul> <p>Type of joint. If <code>true</code>, draw round joints. Otherwise draw miter joints.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="billboard"><code>billboard</code> (boolean, optional)<a href="#billboard" class="hash-link" aria-label="Direct link to billboard" title="Direct link to billboard"></a></h4> <ul> <li>Default: <code>false</code></li> </ul> <p>If <code>true</code>, extrude the path in screen space (width always faces the camera). If <code>false</code>, the width always faces up.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="miterlimit"><code>miterLimit</code> (number, optional) <img decoding="async" loading="lazy" src="https://img.shields.io/badge/transition-enabled-green.svg?style=flat-square%22" alt="transition-enabled" class="img_ev3q"><a href="#miterlimit" class="hash-link" aria-label="Direct link to miterlimit" title="Direct link to miterlimit"></a></h4> <ul> <li>Default: <code>4</code></li> </ul> <p>The maximum extent of a joint in ratio to the stroke width. Only works if <code>jointRounded</code> is <code>false</code>.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="_pathtype"><code>_pathType</code> (object, optional)<a href="#_pathtype" class="hash-link" aria-label="Direct link to _pathtype" title="Direct link to _pathtype"></a></h4> <ul> <li>Default: <code>null</code></li> </ul> <blockquote> <p>Note: This prop is experimental</p> </blockquote> <p>One of <code>null</code>, <code>'loop'</code> or <code>'open'</code>.</p> <p>If <code>'loop'</code> or <code>'open'</code>, will skip normalizing the coordinates returned by <code>getPath</code> and instead assume all paths are to be loops or open paths. Disabling normalization improves performance during data update, but makes the layer prone to error in case the data is malformed. It is only recommended when you use this layer with preprocessed static data or validation on the backend.</p> <p>When normalization is disabled, paths must be specified in the format of flat array. Open paths must contain at least 2 vertices and closed paths must contain at least 3 vertices. See <code>getPath</code> below for details.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="data-accessors">Data Accessors<a href="#data-accessors" class="hash-link" aria-label="Direct link to Data Accessors" title="Direct link to Data Accessors"></a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="getpath"><code>getPath</code> (<a href="/docs/developer-guide/using-layers#accessors">Accessor<PathGeometry></a>, optional) <img decoding="async" loading="lazy" src="https://img.shields.io/badge/transition-enabled-green.svg?style=flat-square%22" alt="transition-enabled" class="img_ev3q"><a href="#getpath" class="hash-link" aria-label="Direct link to getpath" title="Direct link to getpath"></a></h4> <ul> <li>Default: <code>object => object.path</code></li> </ul> <p>Called on each object in the <code>data</code> stream to retrieve its corresponding path.</p> <p>A path can be one of the following formats:</p> <ul> <li>An array of points (<code>[x, y, z]</code>). Compatible with the GeoJSON <a href="https://tools.ietf.org/html/rfc7946#section-3.1.4" target="_blank" rel="noopener noreferrer">LineString</a> specification.</li> <li>A flat array or <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" target="_blank" rel="noopener noreferrer">TypedArray</a> of numbers, in the shape of <code>[x0, y0, z0, x1, y1, z1, ...]</code>. By default, each coordinate is assumed to contain 3 consecutive numbers. If each coordinate contains only two numbers (x, y), set the <code>positionFormat</code> prop of the layer to <code>XY</code>:</li> </ul> <div class="language-ts codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-ts codeBlock_bY9V thin-scrollbar" style="color:#403f53;background-color:#FBFBFB"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">PathLayer</span><span class="token class-name operator" style="color:rgb(12, 150, 155)"><</span><span class="token class-name punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token class-name" style="color:rgb(17, 17, 17)">vertices</span><span class="token class-name operator" style="color:rgb(12, 150, 155)">:</span><span class="token class-name" style="color:rgb(17, 17, 17)"> Float32Array</span><span class="token class-name punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token class-name operator" style="color:rgb(12, 150, 155)">></span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getPath</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> d </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">vertices</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// [x0, y0, x1, y1, x2, y2, ...]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> positionFormat</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'XY'</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="getcolor"><code>getColor</code> (<a href="/docs/developer-guide/using-layers#accessors">Accessor<Color></a>, optional) <img decoding="async" loading="lazy" src="https://img.shields.io/badge/transition-enabled-green.svg?style=flat-square%22" alt="transition-enabled" class="img_ev3q"><a href="#getcolor" class="hash-link" aria-label="Direct link to getcolor" title="Direct link to getcolor"></a></h4> <ul> <li>Default <code>[0, 0, 0, 255]</code></li> </ul> <p>The rgba color of each object, in <code>r, g, b, [a]</code>. Each component is in the 0-255 range.</p> <ul> <li>If an array is provided, it is used as the color for all objects.</li> <li>If a function is provided, it is called on each object to retrieve its color.</li> </ul> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="getwidth"><code>getWidth</code> (<a href="/docs/developer-guide/using-layers#accessors">Accessor<number></a>, optional) <img decoding="async" loading="lazy" src="https://img.shields.io/badge/transition-enabled-green.svg?style=flat-square%22" alt="transition-enabled" class="img_ev3q"><a href="#getwidth" class="hash-link" aria-label="Direct link to getwidth" title="Direct link to getwidth"></a></h4> <ul> <li>Default: <code>1</code></li> </ul> <p>The width of each path, in units specified by <code>widthUnits</code> (default meters).</p> <ul> <li>If a number is provided, it is used as the width for all paths.</li> <li>If a function is provided, it is called on each path to retrieve its width.</li> </ul> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="use-binary-attributes">Use binary attributes<a href="#use-binary-attributes" class="hash-link" aria-label="Direct link to Use binary attributes" title="Direct link to Use binary attributes"></a></h2> <p>This section is about the special requirements when <a href="/docs/developer-guide/performance#supply-attributes-directly">supplying attributes directly</a> to a <code>PathLayer</code>.</p> <p>Because each path has a different number of vertices, when <code>data.attributes.getPath</code> is supplied, the layer also requires an array <code>data.startIndices</code> that describes the vertex index at the start of each path. For example, if there are 3 paths of 2, 3, and 4 vertices each, <code>startIndices</code> should be <code>[0, 2, 5, 9]</code>.</p> <p>Additionally, all other attributes (<code>getColor</code>, <code>getWidth</code>, etc.), if supplied, must contain the same layout (number of vertices) as the <code>getPath</code> buffer.</p> <p>To truly realize the performance gain from using binary data, the app likely wants to skip all data processing in this layer. Specify the <code>_pathType</code> prop to skip normalization.</p> <p>Example use case:</p> <div class="language-ts codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockTitle_Ktv7">Use plain JSON array</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-ts codeBlock_bY9V thin-scrollbar" style="color:#403f53;background-color:#FBFBFB"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> </span><span class="token constant" style="color:rgb(72, 118, 214)">PATH_DATA</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> path</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token operator" style="color:rgb(12, 150, 155)">-</span><span class="token number" style="color:rgb(170, 9, 130)">122.4</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">37.7</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token operator" style="color:rgb(12, 150, 155)">-</span><span class="token number" style="color:rgb(170, 9, 130)">122.5</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">37.8</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token operator" style="color:rgb(12, 150, 155)">-</span><span class="token number" style="color:rgb(170, 9, 130)">122.6</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">37.85</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> name</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'Richmond - Millbrae'</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> color</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token number" style="color:rgb(170, 9, 130)">255</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">0</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">0</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// ...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">PathLayer</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> data</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token constant" style="color:rgb(72, 118, 214)">PATH_DATA</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getPath</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> d </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">path</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">getColor</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> d </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">color</span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>The equivalent binary attributes would be:</p> <div class="language-ts codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockTitle_Ktv7">Use binary attributes</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-ts codeBlock_bY9V thin-scrollbar" style="color:#403f53;background-color:#FBFBFB"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// Flatten PATH_DATA into several binary buffers. This is typically done on the server or in a worker</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// [-122.4, 37.7, -122.5, 37.8, -122.6, 37.85, ...]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> positions </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">Float64Array</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token constant" style="color:rgb(72, 118, 214)">PATH_DATA</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">map</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">d </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">path</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">flat</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token number" style="color:rgb(170, 9, 130)">2</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// The color attribute must supply one color for each vertex</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// [255, 0, 0, 255, 0, 0, 255, 0, 0, ...]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> colors </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">Uint8Array</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token constant" style="color:rgb(72, 118, 214)">PATH_DATA</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">map</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">d </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">path</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">map</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">_ </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">color</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">flat</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token number" style="color:rgb(170, 9, 130)">2</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// The "layout" that tells PathLayer where each path starts</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> startIndices </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">Uint16Array</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token constant" style="color:rgb(72, 118, 214)">PATH_DATA</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">reduce</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">acc</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=></span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token plain"> lastIndex </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> acc</span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token plain">acc</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">length </span><span class="token operator" style="color:rgb(12, 150, 155)">-</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">1</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> acc</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">push</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">lastIndex </span><span class="token operator" style="color:rgb(12, 150, 155)">+</span><span class="token plain"> d</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">path</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">length</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">return</span><span class="token plain"> acc</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token number" style="color:rgb(170, 9, 130)">0</span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">PathLayer</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> data</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> length</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token constant" style="color:rgb(72, 118, 214)">PATH_DATA</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">length</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> startIndices</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> startIndices</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// this is required to render the paths correctly!</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> attributes</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> getPath</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain">value</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> positions</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> size</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">2</span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> getColor</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain">value</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> colors</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> size</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(170, 9, 130)">3</span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> _pathType</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">'open'</span><span class="token plain"> </span><span class="token comment" style="color:rgb(152, 159, 177);font-style:italic">// this instructs the layer to skip normalization and use the binary as-is</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="source">Source<a href="#source" class="hash-link" aria-label="Direct link to Source" title="Direct link to Source"></a></h2> <p><a href="https://github.com/visgl/deck.gl/tree/9.1-release/modules/layers/src/path-layer" target="_blank" rel="noopener noreferrer">modules/layers/src/path-layer</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/visgl/deck.gl/tree/master/website/../docs/api-reference/layers/path-layer.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/api-reference/geo-layers/mvt-layer"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">MVTLayer</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/api-reference/layers/point-cloud-layer"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">PointCloudLayer</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#installation" class="table-of-contents__link toc-highlight">Installation</a></li><li><a href="#properties" class="table-of-contents__link toc-highlight">Properties</a><ul><li><a href="#render-options" class="table-of-contents__link toc-highlight">Render Options</a></li><li><a href="#data-accessors" class="table-of-contents__link toc-highlight">Data Accessors</a></li></ul></li><li><a href="#use-binary-attributes" class="table-of-contents__link toc-highlight">Use binary attributes</a></li><li><a href="#source" class="table-of-contents__link toc-highlight">Source</a></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Resources</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/api-reference/core/deck">API Reference</a></li><li class="footer__item"><a href="https://github.com/visgl/deck.gl/tree/master/examples/get-started" target="_blank" rel="noopener noreferrer" class="footer__link-item">Starter templates<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/playground">Playground</a></li><li class="footer__item"><a href="https://codepen.io/vis-gl/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Codepen demos<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">Other vis.gl Libraries</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://visgl.github.io/deck.gl-community/" target="_blank" rel="noopener noreferrer" class="footer__link-item">deck.gl-community<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://luma.gl" target="_blank" rel="noopener noreferrer" class="footer__link-item">luma.gl<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://loaders.gl" target="_blank" rel="noopener noreferrer" class="footer__link-item">loaders.gl<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://visgl.github.io/react-map-gl" target="_blank" rel="noopener noreferrer" class="footer__link-item">react-map-gl<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://nebula.gl" target="_blank" rel="noopener noreferrer" class="footer__link-item">nebula.gl<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://join.slack.com/t/deckgl/shared_invite/zt-7oeoqie8-NQqzSp5SLTFMDeNSPxi7eg" target="_blank" rel="noopener noreferrer" class="footer__link-item">Slack workspace<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://medium.com/vis-gl" target="_blank" rel="noopener noreferrer" class="footer__link-item">vis.gl blog on Medium<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://github.com/visgl/deck.gl" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2025 OpenJS Foundation</div></div></div></footer></div> </body> </html>