\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{hhkaos} \pdfinfo{ /Title (vscode-arcgis-js-api-4-x-snippets-cheat-sheet.pdf) /Creator (Cheatography) /Author (hhkaos) /Subject (VSCode ArcGIS JS API 4.x snippets Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{007AC2} \definecolor{LightBackground}{HTML}{EFF6FB} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{VSCode ArcGIS JS API 4.x snippets Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{hhkaos} via \textcolor{DarkBackground}{\uline{cheatography.com/136774/cs/28581/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}hhkaos \\ \uline{cheatography.com/hhkaos} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 12th August, 2021.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{x{1.6 cm} x{6.4 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-html5\}\} HTML: configs, layouts, ...}} \tn % Row 0 \SetRowColor{LightBackground} getApi & Add the \{\{link="https://developers.arcgis.com/javascript/latest/install-and-set-up/\#amd-modules-via-arcgis-cdn"\}\}API dependencies\{\{/link\}\} from the CDN \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} \seqsplit{dojoConfig} & \{\{link="https://dojotoolkit.org/documentation/tutorials/1.10/cdn/index.html"\}\}Configure Dojo loader\{\{/link\}\} to load our modules \tn % Row Count 9 (+ 4) % Row 2 \SetRowColor{LightBackground} fullMap & Sets the map to cover 100\% of the screen \tn % Row Count 11 (+ 2) % Row 3 \SetRowColor{white} calcite & Add the \{\{link="https://developers.arcgis.com/calcite-design-system/\#2-quick-start"\}\}Calcite dependencies\{\{/link\}\} from the CDN \tn % Row Count 15 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Learn more about \{\{link="https://www.youtube.com/watch?v=UL0m0EXW8Es\&list=PLahIW2YFPQd6Uu9u3kRTgGo-HxONKDTi1\&index=38"\}\}options for consuming the API\{/link\}, \{\{link="https://www.mapuipatterns.com/category/layouts/"\}\}Map UI Patterns\{\{/link\}\} and \{\{link="https://www.youtube.com/watch?v=7sxe-{}-EhiB0"\}\}Calcite (Esri's Design System)\{\{/link\}\}.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2.4 cm} x{5.6 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-map\}\} Basics}} \tn % Row 0 \SetRowColor{LightBackground} apiKey & User \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html"\}\}esriConfig\{\{/link\}\} to set your API Key \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} map & Create a new \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html"\}\}Map\{\{/link\}\} \tn % Row Count 9 (+ 4) % Row 2 \SetRowColor{LightBackground} \seqsplit{basemapStyle} & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html\#basemap"\}\}Supported basemaps\{\{/link\}\} using API keys \tn % Row Count 14 (+ 5) % Row 3 \SetRowColor{white} mapView & Create a new \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"\}\}MapView\{\{/link\}\} (2D) \tn % Row Count 19 (+ 5) % Row 4 \SetRowColor{LightBackground} sceneView & Create a new \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html"\}\}SceneView\{\{/link\}\} (3D) \tn % Row Count 24 (+ 5) % Row 5 \SetRowColor{white} webmap & Create a \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html"\}\}WebMap\{\{/link\}\} and a \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"\}\}MapView\{\{/link\}\} \tn % Row Count 33 (+ 9) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{x{2.4 cm} x{5.6 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-map\}\} Basics (cont)}} \tn % Row 6 \SetRowColor{LightBackground} webscene & Create a \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html"\}\}WebScene\{\{/link\}\} and a \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html"\}\}SceneView\{\{/link\}\} \tn % Row Count 9 (+ 9) % Row 7 \SetRowColor{white} graphic & Create a new \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html"\}\}Graphic\{\{/link\}\} \tn % Row Count 14 (+ 5) % Row 8 \SetRowColor{LightBackground} \seqsplit{spatialReference} & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html"\}\}SpatialReference\{\{/link\}\} constructor props \tn % Row Count 20 (+ 6) % Row 9 \SetRowColor{white} \seqsplit{disableNavigation} & Disable view navigation \tn % Row Count 22 (+ 2) % Row 10 \SetRowColor{LightBackground} \seqsplit{limitViewExtent} & Set view constraings \tn % Row Count 24 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Learn more about \{\{link="https://developers.arcgis.com/documentation/mapping-apis-and-services/maps/maps-2d/"\}\}Maps\{\{/link\}\} (2D), \{\{link="https://developers.arcgis.com/documentation/mapping-apis-and-services/maps/scenes-3d/"\}\}Scenes\{\{/link\}\} (3D), \{\{link="https://bit.ly/2UTeHuT"\}\}Spatial references\{\{/link\}\}, \{\{link="https://bit.ly/3BkH85w"\}\}Basemap layers\{\{/link\}\} and \{\{link="https://developers.arcgis.com/documentation/mapping-apis-and-services/maps/graphics/"\}\}Graphics\{\{/link\}\}.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{MapView events}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/hhkaos_1628768243_jsapi-mapview-events.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{To learn more about events and watching changes please check these demo apps: \{\{link="https://developers.arcgis.com/javascript/latest/sample-code/event-explorer/"\}\}MapView events\{\{/link\}\}, \{\{link="https://developers.arcgis.com/javascript/latest/sample-code/watch-for-changes/"\}\}watch for changes\{\{/link\}\} and \{\{link="https://hhkaos.github.io/sketch-widget-event-explorer/"\}\}sketch widget events explorers\{\{/link\}\}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2.96 cm} x{5.04 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-globe\}\} Layers}} \tn % Row 0 \SetRowColor{LightBackground} featureLayer & Create a new \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html"\}\}FeatureLayer\{\{/link\}\} \tn % Row Count 6 (+ 6) % Row 1 \SetRowColor{white} geojsonLayer & Create a new \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html"\}\}GeoJSONLayer\{\{/link\}\} \tn % Row Count 12 (+ 6) % Row 2 \SetRowColor{LightBackground} graphicLayer & Create a new \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html"\}\}GraphicLayer\{\{/link\}\} \tn % Row Count 18 (+ 6) % Row 3 \SetRowColor{white} findLayer & Find a layer by it's name \tn % Row Count 19 (+ 1) % Row 4 \SetRowColor{LightBackground} hitTest & Recover clicked geometries \tn % Row Count 21 (+ 2) % Row 5 \SetRowColor{white} \seqsplit{featureLayerCS} & Create FeatureLayer (client-side) \tn % Row Count 23 (+ 2) % Row 6 \SetRowColor{LightBackground} queryLayer & Server-side query \tn % Row Count 24 (+ 1) % Row 7 \SetRowColor{white} \seqsplit{queryLayerView} & Client-side query \tn % Row Count 25 (+ 1) % Row 8 \SetRowColor{LightBackground} layerWhen & When layer the instance is created \tn % Row Count 27 (+ 2) % Row 9 \SetRowColor{white} \seqsplit{featureReductionCluster} & Configures clustering using \{\{link="FeatureReductionCluster"\}\}FeatureReductionCluster\{\{/link\}\} \tn % Row Count 31 (+ 4) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{x{2.96 cm} x{5.04 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-globe\}\} Layers (cont)}} \tn % Row 10 \SetRowColor{LightBackground} featureEffect & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureEffect.html"\}\}FeatureEffect\{\{/link\}\} constructor props \tn % Row Count 7 (+ 7) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Learn more about how to use \{\{link="https://bit.ly/3itd67n"\}\}Data layers in ArcGIS\{\{/link\}\}, \{\{link="https://developers.arcgis.com/javascript/latest/layers-and-data/"\}\}Layers and data in the JS API\{\{/link\}\} and \{\{link="https://developers.arcgis.com/javascript/latest/query-filter/"\}\}Querying and filtering data\{\{/link\}\}.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2.96 cm} x{5.04 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-comment\}\} Popups}} \tn % Row 0 \SetRowColor{LightBackground} popupTemplate & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html"\}\}PopupTemplate\{\{/link\}\} constructor props \tn % Row Count 6 (+ 6) % Row 1 \SetRowColor{white} fieldInfo & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html"\}\}FieldInfo\{\{/link\}\} constructor props \tn % Row Count 12 (+ 6) % Row 2 \SetRowColor{LightBackground} \seqsplit{expressionInfo} & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-ExpressionInfo.html"\}\}popup/ExpressionInfo\{\{/link\}\} constructor props \tn % Row Count 18 (+ 6) % Row 3 \SetRowColor{white} actionButton & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-support-actions-ActionButton.html"\}\}ActionButton\{\{/link\}\} constructor props \tn % Row Count 24 (+ 6) % Row 4 \SetRowColor{LightBackground} \seqsplit{popupActionListener} & Capture custom action click \tn % Row Count 26 (+ 2) % Row 5 \SetRowColor{white} \seqsplit{popupTextContent} & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-TextContent.html"\}\}TextContent\{\{/link\}\} constructor props \tn % Row Count 32 (+ 6) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{x{2.96 cm} x{5.04 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-comment\}\} Popups (cont)}} \tn % Row 6 \SetRowColor{LightBackground} \seqsplit{popupMediaContent} & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-MediaContent.html"\}\}MediaContent\{\{/link\}\} constructor props \tn % Row Count 6 (+ 6) % Row 7 \SetRowColor{white} \seqsplit{popupFieldsContent} & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-FieldsContent.html"\}\}FieldsContent\{\{/link\}\} constructor props \tn % Row Count 12 (+ 6) % Row 8 \SetRowColor{LightBackground} \seqsplit{popupAttachmentsContent} & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-AttachmentsContent.html"\}\}AttachmentsContent\{\{/link\}\} constructor props \tn % Row Count 19 (+ 7) % Row 9 \SetRowColor{white} \seqsplit{popupCustomContent} & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-CustomContent.html"\}\}CustomContent\{\{/link\}\} constructor props \tn % Row Count 25 (+ 6) % Row 10 \SetRowColor{LightBackground} \seqsplit{chartMediaInfo} & Charts constructor props \tn % Row Count 26 (+ 1) % Row 11 \SetRowColor{white} \seqsplit{imageMediaInfo} & \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-ImageMediaInfo.html"\}\}ImageMediaInfo\{\{/link\}\} constructor props \tn % Row Count 33 (+ 7) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Go to the API reference to learn more about the \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html"\}\}Popup\{\{/link\}\} and \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html"\}\}PopupTemplate\{\{/link\}\} modules.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-eye\}\} Preview popup chart types}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/hhkaos_1626684374_Untitled presentation (3).jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2.56 cm} x{5.44 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-wrench\}\} Widgets}} \tn % Row 0 \SetRowColor{LightBackground} sketch & Create new Sketch widget \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} search & Create new Search widget \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \seqsplit{elevationProfile} & Create new ElevationProfile widget \tn % Row Count 4 (+ 2) % Row 3 \SetRowColor{white} swipe & Create new Swipe widget \tn % Row Count 5 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.04 cm} x{4.96 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-square\}\} Geometries}} \tn % Row 0 \SetRowColor{LightBackground} pointGeometry & Point constructor props \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \seqsplit{polylineGeometry} & Polyline constructor props \tn % Row Count 3 (+ 2) % Row 2 \SetRowColor{LightBackground} \seqsplit{polygonGeometry} & Polygon constructor props \tn % Row Count 5 (+ 2) % Row 3 \SetRowColor{white} circleGeometry & Circle constructor props \tn % Row Count 6 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Use {\bf{\{\{link="https://bit.ly/3rrtvxa"\}\}geographicToWebMercator\{\{/link\}\}}} and {\bf{\{\{link="https://bit.ly/2UiibHC"\}\}webMercatorToGeographic\{\{/link\}\}}} to convert geometries with Geographic coordinates (wkid 4326: lon, lat) to Web Mercator (wkid 3857: x, y) and vice versa. \newline \newline Also use {\bf{\{\{link="https://bit.ly/3zhTMRj"\}\}geometryFromJSON\{\{/link\}\}}} and {\bf{\{\{link="https://bit.ly/3ioe04R"\}\}geometryJsonUtils\{\{/link\}\}}} to create a geometry from a JSON object.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.04 cm} x{4.96 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-map-marker\}\} Symbols}} \tn % Row 0 \SetRowColor{LightBackground} \seqsplit{simpleMarkerSymbol} & SimpleMarkerSymbol constructor props \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \seqsplit{pictureFillSymbol} & PictureFillSymbol constructor props \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} \seqsplit{simpleLineSymbol} & SimpleLineSymbol constructor props \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} \seqsplit{simpleFillSymbol} & SimpleFillSymbol constructor props \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} \seqsplit{WaterSymbol3DLayer} & WaterSymbol3DLayer constructor props \tn % Row Count 10 (+ 2) % Row 5 \SetRowColor{white} symbolFromJSON & Init symbol using class method fromJSON() \tn % Row Count 12 (+ 2) % Row 6 \SetRowColor{LightBackground} \seqsplit{symbolJsonUtils}.fromJSON & Init symbol using jsonUtils \tn % Row Count 14 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Use the \{\{link="https://developers.arcgis.com/javascript/latest/sample-code/playground/live/"\}\}ArcGIS API for JavaScript 4.x symbol playground\{\{/link\}\} and the \{\{link="https://esri.github.io/cim-symbol-builder-js/"\}\}CIM Symbol builder\{\{/link\}\} to help you create new \{\{link="https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Symbol.html"\}\}Esri symbols\{\{/link\}\}.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-eye\}\} Symbol types (preview)}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/hhkaos_1626679506_Untitled presentation (1).jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2.56 cm} x{5.44 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-paint-brush\}\} Renderers}} \tn % Row 0 \SetRowColor{LightBackground} \seqsplit{simpleRenderer} & Create a new SimpleRenderer \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \seqsplit{uniqueValueRenderer} & Create a new UniqueValueRenderer \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} \seqsplit{classBreaksRenderer} & Create a new ClassBreaksRenderer \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} \seqsplit{dotDensityRenderer} & Create a new DotDensityRenderer \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} \seqsplit{heatmapRenderer} & Create a new HeatmapRenderer \tn % Row Count 10 (+ 2) % Row 5 \SetRowColor{white} \seqsplit{dictionaryRenderer} & Create a new DictionaryRenderer \tn % Row Count 12 (+ 2) % Row 6 \SetRowColor{LightBackground} \seqsplit{rendererFromJSON} & Init renderer using class method fromJSON() \tn % Row Count 14 (+ 2) % Row 7 \SetRowColor{white} \seqsplit{rendererJsonUtils} & Init renderer using JsonUtils \tn % Row Count 16 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Configure renderers using the \{\{link="https://bit.ly/3hPLvho"\}\}new Map Viewer\{\{/link\}\} (or the \{\{link="https://bit.ly/3iso3FU"\}\}classic one\{\{/link\}\}) and then use the JSON object with the {\bf{\{\{link="https://bit.ly/3hLobkO"\}\}rendererFromJSON\{\{/link\}\}}} or {\bf{\{\{link="https://bit.ly/36HX1oI"\}\}rendererJsonUtils\{\{/link\}\}}} snippets to instantiate a renderer class. \newline \newline Read \{\{link="https://bit.ly/3it8e1Z"\}\}Data-driven visualization\{\{/link\}\} to learn more about renderers.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-eye\}\} Preview renderers}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/hhkaos_1626654281_Screenshot 2021-07-19 at 02.24.25.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{p{1.6 cm} x{6.4 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-ellipsis-h\}\} Miscelanea}} \tn % Row 0 \SetRowColor{LightBackground} webgl & Detect WebGL support \tn % Row Count 1 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}