<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic custom search completion doesn't replace suggestedResult in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/custom-search-completion-doesn-t-replace/m-p/1021555#M71539</link>
    <description>&lt;P&gt;Hello people,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am looking for a way to search for a scientific species name and receiving the data from the GBIF api.&lt;/P&gt;&lt;P&gt;Now I have already implemented auto completion if I search for a scientific name, but selecting the name in the search-widget doesn't parse the result to getResults object.&lt;/P&gt;&lt;P&gt;Is there any way to fix this?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JamesG_2-1611936547415.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/4905i1F2734F7BC3B63C7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JamesG_2-1611936547415.png" alt="JamesG_2-1611936547415.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JamesG_0-1611936298395.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/4903i7A293E5F468FF087/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JamesG_0-1611936298395.png" alt="JamesG_0-1611936298395.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JamesG_1-1611936352252.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/4904iE594FF977B5BA932/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JamesG_1-1611936352252.png" alt="JamesG_1-1611936352252.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;html&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;head&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;meta &lt;/SPAN&gt;&lt;SPAN&gt;charset&lt;/SPAN&gt;&lt;SPAN&gt;="utf-8"&lt;/SPAN&gt;&lt;SPAN&gt;/&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;meta&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;name&lt;/SPAN&gt;&lt;SPAN&gt;="viewport"&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;content&lt;/SPAN&gt;&lt;SPAN&gt;="initial-scale=1,maximum-scale=1,user-scalable=no"&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;/&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;title&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;All birds&lt;SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;title&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;link&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;rel&lt;/SPAN&gt;&lt;SPAN&gt;="stylesheet"&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;href&lt;/SPAN&gt;&lt;SPAN&gt;="https://js.arcgis.com/4.17/esri/themes/light/main.css"&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;/&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;style&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;html&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;#viewDiv &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;padding&lt;/SPAN&gt;: &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;margin&lt;/SPAN&gt;: &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;height&lt;/SPAN&gt;: &lt;SPAN&gt;100&lt;/SPAN&gt;&lt;SPAN&gt;%;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;width&lt;/SPAN&gt;: &lt;SPAN&gt;100&lt;/SPAN&gt;&lt;SPAN&gt;%;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;        }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;style&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;script &lt;/SPAN&gt;&lt;SPAN&gt;src&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;SPAN&gt;https://js.arcgis.com/4.17/&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;script&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;script &lt;/SPAN&gt;&lt;SPAN&gt;src&lt;/SPAN&gt;&lt;SPAN&gt;="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;script&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;script&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;        require([&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/widgets/Search"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/widgets/Search/SearchSource"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/Map"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/request"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/Color"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/views/MapView"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/widgets/LayerList"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/layers/BaseTileLayer"&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;], &lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;Search&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;SearchSource&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;Map&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;esriRequest&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;Color&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;MapView&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;LayerList&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;BaseTileLayer&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// *******************************************************&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // Custom tile layer class code&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // Create a subclass of BaseTileLayer&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // *******************************************************&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;TintLayer &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;BaseTileLayer&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;createSubclass&lt;SPAN&gt;({&lt;BR /&gt;&lt;/SPAN&gt;                properties&lt;SPAN&gt;: {&lt;BR /&gt;&lt;/SPAN&gt;                    urlTemplate&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;null&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    tint&lt;SPAN&gt;: {&lt;BR /&gt;&lt;/SPAN&gt;                        value&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;null&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                        type&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;Color&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                },&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;// generate the tile url for a given level, row and column&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;getTileUrl&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;level&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;row&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;col&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;return &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;urlTemplate&lt;BR /&gt;                        &lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;replace&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"{z}"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;level&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        .&lt;/SPAN&gt;&lt;SPAN&gt;replace&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"{x}"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;col&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        .&lt;/SPAN&gt;&lt;SPAN&gt;replace&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"{y}"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;row&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                },&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;// This method fetches tiles for the specified level and size.&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                // Override this method to process the data returned from the server.&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;fetchTile&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;level&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;row&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;col&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;options&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;// call getTileUrl() method to construct the URL to tiles&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                    // for a given level, row and col provided by the LayerView&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;var &lt;/SPAN&gt;url &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;getTileUrl&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;level&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;row&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;col&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;// request for tiles based on the generated url&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                    // the signal option ensures that obsolete requests are aborted&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;return &lt;/SPAN&gt;&lt;SPAN&gt;esriRequest&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;url&lt;SPAN&gt;, {&lt;BR /&gt;&lt;/SPAN&gt;                        responseType&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"image"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                        signal&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;options &lt;/SPAN&gt;&lt;SPAN&gt;&amp;amp;&amp;amp; &lt;/SPAN&gt;&lt;SPAN&gt;options&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;signal&lt;BR /&gt;                    &lt;SPAN&gt;}).&lt;/SPAN&gt;&lt;SPAN&gt;then&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;// when esri request resolves successfully&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                            // get the image from the response&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;var &lt;/SPAN&gt;image &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;data&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;var &lt;/SPAN&gt;width &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;tileInfo&lt;SPAN&gt;.&lt;/SPAN&gt;size&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;var &lt;/SPAN&gt;height &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;tileInfo&lt;SPAN&gt;.&lt;/SPAN&gt;size&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;// create a canvas with 2D rendering context&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;var &lt;/SPAN&gt;canvas &lt;SPAN&gt;= &lt;/SPAN&gt;document&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;createElement&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"canvas"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;var &lt;/SPAN&gt;context &lt;SPAN&gt;= &lt;/SPAN&gt;canvas&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;getContext&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"2d"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;                            canvas&lt;SPAN&gt;.&lt;/SPAN&gt;width &lt;SPAN&gt;= &lt;/SPAN&gt;width&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;                            canvas&lt;SPAN&gt;.&lt;/SPAN&gt;height &lt;SPAN&gt;= &lt;/SPAN&gt;height&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;// Apply the tint color provided by&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                            // by the application to the canvas&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;if &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;tint&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                                &lt;SPAN&gt;// Get a CSS color string in rgba form&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                // representing the tint Color instance.&lt;BR /&gt;&lt;/SPAN&gt;                                context&lt;SPAN&gt;.&lt;/SPAN&gt;fillStyle &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;tint&lt;SPAN&gt;.&lt;/SPAN&gt;toCss&lt;SPAN&gt;();&lt;BR /&gt;&lt;/SPAN&gt;                                context&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fillRect&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;width&lt;SPAN&gt;, &lt;/SPAN&gt;height&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                                &lt;SPAN&gt;// Applies "difference" blending operation between canvas&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                // and steman tiles. Difference blending operation subtracts&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                // the bottom layer (canvas) from the top layer (tiles) or the&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                // other way round to always get a positive value.&lt;BR /&gt;&lt;/SPAN&gt;                                context&lt;SPAN&gt;.&lt;/SPAN&gt;globalCompositeOperation &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;"difference"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                            }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;// Draw the blended image onto the canvas.&lt;BR /&gt;&lt;/SPAN&gt;                            context&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;drawImage&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;image&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;width&lt;SPAN&gt;, &lt;/SPAN&gt;height&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;return &lt;/SPAN&gt;canvas&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        }.&lt;/SPAN&gt;&lt;SPAN&gt;bind&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                    );&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            });&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// *******************************************************&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // Start of JavaScript application&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // *******************************************************&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // Create a new instance of the TintLayer and set its properties&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;stamenTileLayer &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;TintLayer&lt;SPAN&gt;({&lt;BR /&gt;&lt;/SPAN&gt;                urlTemplate&lt;SPAN&gt;:&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;https://api.gbif.org/v2/map/occurrence/density/&lt;/SPAN&gt;&lt;SPAN&gt;{z}/{x}/{y}@1x.png?taxonKey=212&amp;amp;bin=hex&amp;amp;hexPerTile=40&amp;amp;style=classic.poly"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                title&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"All birds"&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;});&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;url &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;http://api.gbif.org/v1/species/suggest?datasetKey=d7dddbf4-2cf0-4f39-9b2a-bb099caae36c&amp;amp;q=&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;suffix &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;"&amp;amp;rank=species"&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;customSearchSource &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;SearchSource&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                {&lt;BR /&gt;&lt;/SPAN&gt;                    placeholder&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"Enter Scientific name"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;getSuggestions&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;// &lt;/SPAN&gt;&lt;SPAN&gt;TODO&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;// Make a custom url for the esri request&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;let &lt;/SPAN&gt;customUrl &lt;SPAN&gt;= &lt;/SPAN&gt;url &lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;suggestTerm&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;replace&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;/ /g&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"%20"&lt;/SPAN&gt;&lt;SPAN&gt;) + &lt;/SPAN&gt;suffix&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;//console.log(customUrl);&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;var &lt;/SPAN&gt;options &lt;SPAN&gt;= {&lt;BR /&gt;&lt;/SPAN&gt;                            query&lt;SPAN&gt;: {&lt;BR /&gt;&lt;/SPAN&gt;                                f&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"json"&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;},&lt;BR /&gt;&lt;/SPAN&gt;                            responseType&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"json"&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;};&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;return &lt;/SPAN&gt;&lt;SPAN&gt;esriRequest&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;customUrl&lt;SPAN&gt;, &lt;/SPAN&gt;options&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;SPAN&gt;then&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;(&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;results&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                                &lt;SPAN&gt;// Return the scientific names&lt;BR /&gt;&lt;/SPAN&gt;                                &lt;SPAN&gt;return &lt;/SPAN&gt;&lt;SPAN&gt;results&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;data&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;map&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;feature&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                                        &lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;                                            key&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"name"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                                            text&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;feature&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;species&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                                            &lt;SPAN&gt;// Note: add whatever field you require (i.e. 'canonicalName', 'species', 'genus', etc.)&lt;BR /&gt;&lt;/SPAN&gt;                                            speciesKey&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;feature&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;speciesKey&lt;BR /&gt;                                        &lt;SPAN&gt;};&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                    }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                );&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                            }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        )&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                    },&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;getResults&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;function&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;// The selected result are stored in the params.suggestResult object&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;console&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Selected result: '&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;console&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Species: '&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;suggestResult&lt;SPAN&gt;.&lt;/SPAN&gt;text&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;console&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Species key: '&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;suggestResult&lt;SPAN&gt;.&lt;/SPAN&gt;speciesKey&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;/* &lt;/SPAN&gt;&lt;SPAN&gt;FIXME: when clicking a species, it will show:&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        *   'No results found for &amp;lt;selected species&amp;gt;'&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        * This is because the search action searches the layer data.&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        */&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        // &lt;/SPAN&gt;&lt;SPAN&gt;TODO: add logic for retrieving new data and updating the layer&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;// ...&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            );&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// add the new instance of the custom tile layer&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;map &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;Map&lt;/SPAN&gt;&lt;SPAN&gt;({&lt;BR /&gt;&lt;/SPAN&gt;                basemap&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"topo-vector"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                layers&lt;SPAN&gt;: [&lt;/SPAN&gt;stamenTileLayer&lt;SPAN&gt;]&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            });&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// create a new scene view and add the map&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;view &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;MapView&lt;/SPAN&gt;&lt;SPAN&gt;({&lt;BR /&gt;&lt;/SPAN&gt;                container&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"viewDiv"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                map&lt;SPAN&gt;: &lt;/SPAN&gt;map&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                center&lt;SPAN&gt;: [&lt;/SPAN&gt;&lt;SPAN&gt;6.5665018&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;53.2193835&lt;/SPAN&gt;&lt;SPAN&gt;],&lt;BR /&gt;&lt;/SPAN&gt;                zoom&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;11&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;});&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// create a layer list widget&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;layerList &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;LayerList&lt;/SPAN&gt;&lt;SPAN&gt;({&lt;BR /&gt;&lt;/SPAN&gt;                view&lt;SPAN&gt;: &lt;/SPAN&gt;view&lt;BR /&gt;            &lt;SPAN&gt;});&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// Create a SearchWidget&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // Note: added a few settings, all optional.&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;const &lt;/SPAN&gt;searchWidget &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;Search&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                {&lt;BR /&gt;&lt;/SPAN&gt;                    view&lt;SPAN&gt;: &lt;/SPAN&gt;view&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    sources&lt;SPAN&gt;: [&lt;/SPAN&gt;customSearchSource&lt;SPAN&gt;],&lt;BR /&gt;&lt;/SPAN&gt;                    includeDefaultSources&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    autoSelect&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    locationEnabled&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    minSuggestCharacters&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    searchAllEnabled&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    suggestionDelay&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;300&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            );&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            view&lt;SPAN&gt;.&lt;/SPAN&gt;ui&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;add&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;layerList&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"top-right"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;            view&lt;SPAN&gt;.&lt;/SPAN&gt;ui&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;add&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;searchWidget&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"top-right"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;/* Add events -after- the search has been added to the view */&lt;BR /&gt;&lt;/SPAN&gt;            searchWidget&lt;SPAN&gt;.&lt;/SPAN&gt;viewModel&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;on&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"search-complete"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;function&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;event&lt;/SPAN&gt;&lt;SPAN&gt;){&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;// The results are stored in the event Object[]&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                // Note: missing species key&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;console&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Selected species: "&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;event&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;searchTerm&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;// &lt;/SPAN&gt;&lt;SPAN&gt;TODO: add logic for retrieving new data and updating the layer&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;});&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;        });&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;script&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;head&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;div &lt;/SPAN&gt;&lt;SPAN&gt;id&lt;/SPAN&gt;&lt;SPAN&gt;="viewDiv"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;div&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;html&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 29 Jan 2021 16:11:06 GMT</pubDate>
    <dc:creator>JamesG</dc:creator>
    <dc:date>2021-01-29T16:11:06Z</dc:date>
    <item>
      <title>custom search completion doesn't replace suggestedResult</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/custom-search-completion-doesn-t-replace/m-p/1021555#M71539</link>
      <description>&lt;P&gt;Hello people,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am looking for a way to search for a scientific species name and receiving the data from the GBIF api.&lt;/P&gt;&lt;P&gt;Now I have already implemented auto completion if I search for a scientific name, but selecting the name in the search-widget doesn't parse the result to getResults object.&lt;/P&gt;&lt;P&gt;Is there any way to fix this?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JamesG_2-1611936547415.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/4905i1F2734F7BC3B63C7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JamesG_2-1611936547415.png" alt="JamesG_2-1611936547415.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JamesG_0-1611936298395.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/4903i7A293E5F468FF087/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JamesG_0-1611936298395.png" alt="JamesG_0-1611936298395.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JamesG_1-1611936352252.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/4904iE594FF977B5BA932/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JamesG_1-1611936352252.png" alt="JamesG_1-1611936352252.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;html&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;head&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;meta &lt;/SPAN&gt;&lt;SPAN&gt;charset&lt;/SPAN&gt;&lt;SPAN&gt;="utf-8"&lt;/SPAN&gt;&lt;SPAN&gt;/&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;meta&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;name&lt;/SPAN&gt;&lt;SPAN&gt;="viewport"&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;content&lt;/SPAN&gt;&lt;SPAN&gt;="initial-scale=1,maximum-scale=1,user-scalable=no"&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;/&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;title&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;All birds&lt;SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;title&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;link&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;rel&lt;/SPAN&gt;&lt;SPAN&gt;="stylesheet"&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;href&lt;/SPAN&gt;&lt;SPAN&gt;="https://js.arcgis.com/4.17/esri/themes/light/main.css"&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;/&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;style&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;html&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;#viewDiv &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;padding&lt;/SPAN&gt;: &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;margin&lt;/SPAN&gt;: &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;height&lt;/SPAN&gt;: &lt;SPAN&gt;100&lt;/SPAN&gt;&lt;SPAN&gt;%;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;width&lt;/SPAN&gt;: &lt;SPAN&gt;100&lt;/SPAN&gt;&lt;SPAN&gt;%;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;        }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;style&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;script &lt;/SPAN&gt;&lt;SPAN&gt;src&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;SPAN&gt;https://js.arcgis.com/4.17/&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;script&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;script &lt;/SPAN&gt;&lt;SPAN&gt;src&lt;/SPAN&gt;&lt;SPAN&gt;="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;script&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;script&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;        require([&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/widgets/Search"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/widgets/Search/SearchSource"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/Map"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/request"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/Color"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/views/MapView"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/widgets/LayerList"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;"esri/layers/BaseTileLayer"&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;], &lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;Search&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;SearchSource&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;Map&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;esriRequest&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;Color&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;MapView&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;LayerList&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;BaseTileLayer&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// *******************************************************&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // Custom tile layer class code&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // Create a subclass of BaseTileLayer&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // *******************************************************&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;TintLayer &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;BaseTileLayer&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;createSubclass&lt;SPAN&gt;({&lt;BR /&gt;&lt;/SPAN&gt;                properties&lt;SPAN&gt;: {&lt;BR /&gt;&lt;/SPAN&gt;                    urlTemplate&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;null&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    tint&lt;SPAN&gt;: {&lt;BR /&gt;&lt;/SPAN&gt;                        value&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;null&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                        type&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;Color&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                },&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;// generate the tile url for a given level, row and column&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;getTileUrl&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;level&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;row&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;col&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;return &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;urlTemplate&lt;BR /&gt;                        &lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;replace&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"{z}"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;level&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        .&lt;/SPAN&gt;&lt;SPAN&gt;replace&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"{x}"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;col&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        .&lt;/SPAN&gt;&lt;SPAN&gt;replace&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"{y}"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;row&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                },&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;// This method fetches tiles for the specified level and size.&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                // Override this method to process the data returned from the server.&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;fetchTile&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;level&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;row&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;col&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;options&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;// call getTileUrl() method to construct the URL to tiles&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                    // for a given level, row and col provided by the LayerView&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;var &lt;/SPAN&gt;url &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;getTileUrl&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;level&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;row&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;col&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;// request for tiles based on the generated url&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                    // the signal option ensures that obsolete requests are aborted&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;return &lt;/SPAN&gt;&lt;SPAN&gt;esriRequest&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;url&lt;SPAN&gt;, {&lt;BR /&gt;&lt;/SPAN&gt;                        responseType&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"image"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                        signal&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;options &lt;/SPAN&gt;&lt;SPAN&gt;&amp;amp;&amp;amp; &lt;/SPAN&gt;&lt;SPAN&gt;options&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;signal&lt;BR /&gt;                    &lt;SPAN&gt;}).&lt;/SPAN&gt;&lt;SPAN&gt;then&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;// when esri request resolves successfully&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                            // get the image from the response&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;var &lt;/SPAN&gt;image &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;data&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;var &lt;/SPAN&gt;width &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;tileInfo&lt;SPAN&gt;.&lt;/SPAN&gt;size&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;var &lt;/SPAN&gt;height &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;tileInfo&lt;SPAN&gt;.&lt;/SPAN&gt;size&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;// create a canvas with 2D rendering context&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;var &lt;/SPAN&gt;canvas &lt;SPAN&gt;= &lt;/SPAN&gt;document&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;createElement&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"canvas"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;var &lt;/SPAN&gt;context &lt;SPAN&gt;= &lt;/SPAN&gt;canvas&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;getContext&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"2d"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;                            canvas&lt;SPAN&gt;.&lt;/SPAN&gt;width &lt;SPAN&gt;= &lt;/SPAN&gt;width&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;                            canvas&lt;SPAN&gt;.&lt;/SPAN&gt;height &lt;SPAN&gt;= &lt;/SPAN&gt;height&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;// Apply the tint color provided by&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                            // by the application to the canvas&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;if &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;tint&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                                &lt;SPAN&gt;// Get a CSS color string in rgba form&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                // representing the tint Color instance.&lt;BR /&gt;&lt;/SPAN&gt;                                context&lt;SPAN&gt;.&lt;/SPAN&gt;fillStyle &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;tint&lt;SPAN&gt;.&lt;/SPAN&gt;toCss&lt;SPAN&gt;();&lt;BR /&gt;&lt;/SPAN&gt;                                context&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fillRect&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;width&lt;SPAN&gt;, &lt;/SPAN&gt;height&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                                &lt;SPAN&gt;// Applies "difference" blending operation between canvas&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                // and steman tiles. Difference blending operation subtracts&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                // the bottom layer (canvas) from the top layer (tiles) or the&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                // other way round to always get a positive value.&lt;BR /&gt;&lt;/SPAN&gt;                                context&lt;SPAN&gt;.&lt;/SPAN&gt;globalCompositeOperation &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;"difference"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                            }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;// Draw the blended image onto the canvas.&lt;BR /&gt;&lt;/SPAN&gt;                            context&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;drawImage&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;image&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;width&lt;SPAN&gt;, &lt;/SPAN&gt;height&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;return &lt;/SPAN&gt;canvas&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        }.&lt;/SPAN&gt;&lt;SPAN&gt;bind&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                    );&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            });&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// *******************************************************&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // Start of JavaScript application&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // *******************************************************&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // Create a new instance of the TintLayer and set its properties&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;stamenTileLayer &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;TintLayer&lt;SPAN&gt;({&lt;BR /&gt;&lt;/SPAN&gt;                urlTemplate&lt;SPAN&gt;:&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;https://api.gbif.org/v2/map/occurrence/density/&lt;/SPAN&gt;&lt;SPAN&gt;{z}/{x}/{y}@1x.png?taxonKey=212&amp;amp;bin=hex&amp;amp;hexPerTile=40&amp;amp;style=classic.poly"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                title&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"All birds"&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;});&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;url &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;http://api.gbif.org/v1/species/suggest?datasetKey=d7dddbf4-2cf0-4f39-9b2a-bb099caae36c&amp;amp;q=&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;suffix &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;"&amp;amp;rank=species"&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;customSearchSource &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;SearchSource&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                {&lt;BR /&gt;&lt;/SPAN&gt;                    placeholder&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"Enter Scientific name"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;getSuggestions&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;// &lt;/SPAN&gt;&lt;SPAN&gt;TODO&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;// Make a custom url for the esri request&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;let &lt;/SPAN&gt;customUrl &lt;SPAN&gt;= &lt;/SPAN&gt;url &lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;suggestTerm&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;replace&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;/ /g&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"%20"&lt;/SPAN&gt;&lt;SPAN&gt;) + &lt;/SPAN&gt;suffix&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;//console.log(customUrl);&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;var &lt;/SPAN&gt;options &lt;SPAN&gt;= {&lt;BR /&gt;&lt;/SPAN&gt;                            query&lt;SPAN&gt;: {&lt;BR /&gt;&lt;/SPAN&gt;                                f&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"json"&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;},&lt;BR /&gt;&lt;/SPAN&gt;                            responseType&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"json"&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;};&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;return &lt;/SPAN&gt;&lt;SPAN&gt;esriRequest&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;customUrl&lt;SPAN&gt;, &lt;/SPAN&gt;options&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;SPAN&gt;then&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;(&lt;BR /&gt;&lt;/SPAN&gt;                            &lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;results&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                                &lt;SPAN&gt;// Return the scientific names&lt;BR /&gt;&lt;/SPAN&gt;                                &lt;SPAN&gt;return &lt;/SPAN&gt;&lt;SPAN&gt;results&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;data&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;map&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;feature&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                                        &lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;                                            key&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"name"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                                            text&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;feature&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;species&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                                            &lt;SPAN&gt;// Note: add whatever field you require (i.e. 'canonicalName', 'species', 'genus', etc.)&lt;BR /&gt;&lt;/SPAN&gt;                                            speciesKey&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;feature&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;speciesKey&lt;BR /&gt;                                        &lt;SPAN&gt;};&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                    }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                                );&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                            }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        )&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                    },&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;getResults&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;function&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;// The selected result are stored in the params.suggestResult object&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;console&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Selected result: '&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;console&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Species: '&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;suggestResult&lt;SPAN&gt;.&lt;/SPAN&gt;text&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;console&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Species key: '&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;params&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;suggestResult&lt;SPAN&gt;.&lt;/SPAN&gt;speciesKey&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;/* &lt;/SPAN&gt;&lt;SPAN&gt;FIXME: when clicking a species, it will show:&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        *   'No results found for &amp;lt;selected species&amp;gt;'&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        * This is because the search action searches the layer data.&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        */&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                        // &lt;/SPAN&gt;&lt;SPAN&gt;TODO: add logic for retrieving new data and updating the layer&lt;BR /&gt;&lt;/SPAN&gt;                        &lt;SPAN&gt;// ...&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                }&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            );&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// add the new instance of the custom tile layer&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;map &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;Map&lt;/SPAN&gt;&lt;SPAN&gt;({&lt;BR /&gt;&lt;/SPAN&gt;                basemap&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"topo-vector"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                layers&lt;SPAN&gt;: [&lt;/SPAN&gt;stamenTileLayer&lt;SPAN&gt;]&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            });&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// create a new scene view and add the map&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;view &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;MapView&lt;/SPAN&gt;&lt;SPAN&gt;({&lt;BR /&gt;&lt;/SPAN&gt;                container&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"viewDiv"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                map&lt;SPAN&gt;: &lt;/SPAN&gt;map&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                center&lt;SPAN&gt;: [&lt;/SPAN&gt;&lt;SPAN&gt;6.5665018&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;53.2193835&lt;/SPAN&gt;&lt;SPAN&gt;],&lt;BR /&gt;&lt;/SPAN&gt;                zoom&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;11&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;});&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// create a layer list widget&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;var &lt;/SPAN&gt;layerList &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;LayerList&lt;/SPAN&gt;&lt;SPAN&gt;({&lt;BR /&gt;&lt;/SPAN&gt;                view&lt;SPAN&gt;: &lt;/SPAN&gt;view&lt;BR /&gt;            &lt;SPAN&gt;});&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;// Create a SearchWidget&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            // Note: added a few settings, all optional.&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;const &lt;/SPAN&gt;searchWidget &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;new &lt;/SPAN&gt;&lt;SPAN&gt;Search&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                {&lt;BR /&gt;&lt;/SPAN&gt;                    view&lt;SPAN&gt;: &lt;/SPAN&gt;view&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    sources&lt;SPAN&gt;: [&lt;/SPAN&gt;customSearchSource&lt;SPAN&gt;],&lt;BR /&gt;&lt;/SPAN&gt;                    includeDefaultSources&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    autoSelect&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    locationEnabled&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    minSuggestCharacters&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    searchAllEnabled&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    suggestionDelay&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;300&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;            );&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            view&lt;SPAN&gt;.&lt;/SPAN&gt;ui&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;add&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;layerList&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"top-right"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;            view&lt;SPAN&gt;.&lt;/SPAN&gt;ui&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;add&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;searchWidget&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"top-right"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;/* Add events -after- the search has been added to the view */&lt;BR /&gt;&lt;/SPAN&gt;            searchWidget&lt;SPAN&gt;.&lt;/SPAN&gt;viewModel&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;on&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"search-complete"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;function&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;event&lt;/SPAN&gt;&lt;SPAN&gt;){&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;// The results are stored in the event Object[]&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;                // Note: missing species key&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;console&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Selected species: "&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;event&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;searchTerm&lt;SPAN&gt;);&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;// &lt;/SPAN&gt;&lt;SPAN&gt;TODO: add logic for retrieving new data and updating the layer&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;});&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;        });&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;script&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;head&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;div &lt;/SPAN&gt;&lt;SPAN&gt;id&lt;/SPAN&gt;&lt;SPAN&gt;="viewDiv"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;div&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;html&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Jan 2021 16:11:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/custom-search-completion-doesn-t-replace/m-p/1021555#M71539</guid>
      <dc:creator>JamesG</dc:creator>
      <dc:date>2021-01-29T16:11:06Z</dc:date>
    </item>
    <item>
      <title>Re: custom search completion doesn't replace suggestedResult</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/custom-search-completion-doesn-t-replace/m-p/1021897#M71559</link>
      <description>&lt;P&gt;I realized I was looking at the properties of Layersource so I deleted my previous suggestion of using displayName.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using your code in a code pen, I think you need to change a few parameters.&lt;/P&gt;&lt;P&gt;key: "species",&lt;BR /&gt;text: feature.species,&lt;BR /&gt;sourceIndex: feature.speciesKey&lt;/P&gt;&lt;P&gt;This doesn't produce the not found error, and keeps the typed value and watching the example, the selected name gets populated only after the subsequent query runs.&amp;nbsp; To get the selection to populate the box, I think you will need to work out your getResults code and return the object.&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;</description>
      <pubDate>Sat, 30 Jan 2021 23:23:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/custom-search-completion-doesn-t-replace/m-p/1021897#M71559</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-01-30T23:23:27Z</dc:date>
    </item>
    <item>
      <title>Re: custom search completion doesn't replace suggestedResult</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/custom-search-completion-doesn-t-replace/m-p/1021906#M71561</link>
      <description>&lt;P&gt;Hi JeffK, thanks for your reply! I'm going to go at it using your suggestions&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":folded_hands:"&gt;🙏&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 31 Jan 2021 09:33:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/custom-search-completion-doesn-t-replace/m-p/1021906#M71561</guid>
      <dc:creator>JamesG</dc:creator>
      <dc:date>2021-01-31T09:33:52Z</dc:date>
    </item>
  </channel>
</rss>

