<?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 zoom to graphic from drop down list that is populated with queryTask in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-graphic-from-drop-down-list-that-is/m-p/171511#M15887</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I want to zoom to a feature (graphic) when a user selects it from a dojo filtering select list. This list is populated using a queryTask. Is it okay to execute a second queryTask that takes the same results and does something else with it? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;function HAPCexecuteQueryTask(fmc) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HAPCquery.where = "FisheryManagementCouncil = '"+ fmc +"'";
&amp;nbsp; HAPCqueryTask.execute(HAPCquery,populateList);
&amp;nbsp; HAPCqueryTask.execute(HAPCquery,showResults);
&amp;nbsp; }&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have been looking at this example and it seems to be pretty close to what I want to do (see last entry for solution. &lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://forums.arcgis.com/threads/36317-Zoom-to-Graphic?highlight=graphics" rel="nofollow noopener noreferrer" target="_blank"&gt;http://forums.arcgis.com/threads/36317-Zoom-to-Graphic?highlight=graphics&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 08:53:03 GMT</pubDate>
    <dc:creator>MikeOnzay</dc:creator>
    <dc:date>2021-12-11T08:53:03Z</dc:date>
    <item>
      <title>zoom to graphic from drop down list that is populated with queryTask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-graphic-from-drop-down-list-that-is/m-p/171511#M15887</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I want to zoom to a feature (graphic) when a user selects it from a dojo filtering select list. This list is populated using a queryTask. Is it okay to execute a second queryTask that takes the same results and does something else with it? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;function HAPCexecuteQueryTask(fmc) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HAPCquery.where = "FisheryManagementCouncil = '"+ fmc +"'";
&amp;nbsp; HAPCqueryTask.execute(HAPCquery,populateList);
&amp;nbsp; HAPCqueryTask.execute(HAPCquery,showResults);
&amp;nbsp; }&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have been looking at this example and it seems to be pretty close to what I want to do (see last entry for solution. &lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://forums.arcgis.com/threads/36317-Zoom-to-Graphic?highlight=graphics" rel="nofollow noopener noreferrer" target="_blank"&gt;http://forums.arcgis.com/threads/36317-Zoom-to-Graphic?highlight=graphics&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:53:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-graphic-from-drop-down-list-that-is/m-p/171511#M15887</guid>
      <dc:creator>MikeOnzay</dc:creator>
      <dc:date>2021-12-11T08:53:03Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to graphic from drop down list that is populated with queryTask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-graphic-from-drop-down-list-that-is/m-p/171512#M15888</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I want to zoom to a feature (graphic) when a user selects it from a dojo filtering select list. This list is populated using a queryTask. Is it okay to execute a second queryTask that takes the same results and does something else with it? &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;PRE class="lia-code-sample line-numbers language-none"&gt;function HAPCexecuteQueryTask(fmc) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HAPCquery.where = "FisheryManagementCouncil = '"+ fmc +"'";
&amp;nbsp; HAPCqueryTask.execute(HAPCquery,populateList);
&amp;nbsp; HAPCqueryTask.execute(HAPCquery,showResults);
&amp;nbsp; }&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;I have been looking at this example and it seems to be pretty close to what I want to do (see last entry for solution. &lt;BR /&gt;&lt;A href="http://forums.arcgis.com/threads/36317-Zoom-to-Graphic?highlight=graphics" rel="nofollow noopener noreferrer" target="_blank"&gt;http://forums.arcgis.com/threads/36317-Zoom-to-Graphic?highlight=graphics&lt;/A&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Instead of two queries, why not add an onclick event to the item in the List that zooms to the geometry? (if you showed your populatelist /showresults functions, it would help)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:53:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-graphic-from-drop-down-list-that-is/m-p/171512#M15888</guid>
      <dc:creator>JeffPace</dc:creator>
      <dc:date>2021-12-11T08:53:07Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to graphic from drop down list that is populated with queryTask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-graphic-from-drop-down-list-that-is/m-p/171513#M15889</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Instead of two queries, why not add an onclick event to the item in the List that zooms to the geometry? (if you showed your populatelist /showresults functions, it would help)&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&amp;gt;
&amp;lt;html&amp;gt;
&amp;nbsp; &amp;lt;head&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;State Info&amp;lt;/title&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.5/js/dojo/dijit/themes/tundra/tundra.css"&amp;gt;
 &amp;lt;script type="text/javascript"&amp;gt;var dojoConfig = { parseOnLoad:true };&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.5"&amp;gt;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type="text/javascript"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.require("esri.tasks.query");
&amp;nbsp;&amp;nbsp; dojo.require("dijit.form.Select");
&amp;nbsp;&amp;nbsp; dojo.require("dijit.form.FilteringSelect");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.require("dojo.data.ItemFileReadStore");
&amp;nbsp;&amp;nbsp; dojo.require("dojo.parser");

 var query, queryTask, map, hapcLayer;

function init() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; //create map and add layer
&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new esri.Map("mapDiv");
&amp;nbsp;&amp;nbsp;&amp;nbsp; var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer");
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.addLayer(layer);
 hapcLayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://egisws02.nos.noaa.gov/ArcGIS/rest/services/NMFS/HAPC/MapServer", {
&amp;nbsp; "id": "HAPC"
 });
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.addLayer(hapcLayer);
 hapcLayer.hide();

&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; //initialize query task
 queryTask = new esri.tasks.QueryTask("http://egisws02.nos.noaa.gov/ArcGIS/rest/services/NMFS/HAPC/MapServer/0");
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //initialize HAPC query
&amp;nbsp;&amp;nbsp;&amp;nbsp; query = new esri.tasks.Query();
&amp;nbsp;&amp;nbsp;&amp;nbsp; query.returnGeometry = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; query.outFields = ["HAPC_Sitename","FisheryManagementCouncil"];

&amp;nbsp; function executeQueryTask(fmc) {
&amp;nbsp;&amp;nbsp; //alert(fmc);
&amp;nbsp;&amp;nbsp; //set query based on what user selected in from list;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; query.where = "FisheryManagementCouncil = '"+ fmc +"'";
 //alert(query.where);
&amp;nbsp;&amp;nbsp;&amp;nbsp; //execute query
&amp;nbsp;&amp;nbsp;&amp;nbsp; queryTask.execute(query,populateList);
&amp;nbsp; }&amp;nbsp;&amp;nbsp; 

&amp;nbsp; function populateList(results) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Populate the dropdown list box with unique values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var zone;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var values = []; //create array
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var testValsEncountered={}; // create JSON object (dictionary) to hold multiple name:value pairs

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Add option to display all zoning types to the dropdown list 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //values.push({name:"ALL"}); //All is not a value in the layer which is why it is being hard coded here.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var features = results.features; //features is a property of query task and has the type of 'graphic'. It is an array.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.forEach (features, function(feature) { //optimized way of doing a for loop, specific to dojo, patterned after HTML5. Let's you apply a function to each element of an array. Feauture is each item in the array.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zone = feature.attributes.HAPC_Sitename; //feature in this context is a graphic and attribute is a property
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!testValsEncountered[zone]) { //tests to see if the testval object containing the value of zone doesn't exist
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; testValsEncountered[zone] = true; //creates a "key" zone with a value of true 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.push({name:zone});//push the JSON pair into the values array
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; 
&amp;nbsp; //sort function by Douglas Crockford, page 81, Javascript: The Good Parts
&amp;nbsp; var by = function(name){
&amp;nbsp;&amp;nbsp; return function (o,p) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var a,b;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (typeof o === 'object' &amp;amp;&amp;amp; typeof p === 'object' &amp;amp;&amp;amp; o &amp;amp;&amp;amp; p) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = o[name];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b = p[name];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (a===b){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return o;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (typeof a === typeof b){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return a &amp;lt; b ? -1 : 1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return typeof a &amp;lt; typeof b ? -1 : 1;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name: 'Error',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; message: 'Expected an object when sorting by ' + name
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; };
&amp;nbsp; };
&amp;nbsp; 
&amp;nbsp; values.sort(by('name')); //sorts the array of unique values
&amp;nbsp; values.unshift({name:"ALL"}); //ensures that an ALL option is not part of the sort and is listed first
&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create a ItemFileReadStore and use it for the ComboBox's data source
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dataItems = { //create JSON object to hold multiple name:value pairs
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifier: 'name', //optional
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: 'name', //optional
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; items: values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var store = new dojo.data.ItemFileReadStore({data:dataItems});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dijit.byId("mySelect").store = store;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp; function applyLayerDef(selItem){
&amp;nbsp; map.graphics.clear();
&amp;nbsp; //Filter the layer to display only the selected HAPC feature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (selItem.value !== 'ALL') {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layerDefs = [];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerDefs[0] = "HAPC_Sitename = " + "'" + selItem.value + "'";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerDefs.visibleLayers = [0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.getLayer("HAPC").setLayerDefinitions(layerDefs);
&amp;nbsp;&amp;nbsp;&amp;nbsp; hapcLayer.show();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.getLayer("HAPC").setDefaultLayerDefinitions();
&amp;nbsp;&amp;nbsp;&amp;nbsp; hapcLayer.show();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }

&amp;nbsp; dojo.addOnLoad(init);
&amp;lt;/script&amp;gt;
&amp;nbsp; &amp;lt;body class="tundra"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Select A Region : 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 

 &amp;lt;select name="fmc2" id="fmc2" onChange="executeQueryTask(dojo.byId('fmc2').value);"&amp;gt;
&amp;nbsp; &amp;lt;option value="" selected="selected"&amp;gt;Select Region&amp;lt;/option&amp;gt;
&amp;nbsp; &amp;lt;option value="Mid-Atlantic Fishery Management Council"&amp;gt;MAFMC&amp;lt;/option&amp;gt;
&amp;nbsp; &amp;lt;option value="Gulf of Mexico Fishery Management Council"&amp;gt;GFMC&amp;lt;/option&amp;gt;
 &amp;lt;/select&amp;gt;

 
 &amp;lt;select id="mySelect" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojotype="dijit.form.FilteringSelect"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; style="width:300px;font-size:18px;"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; autoComplete="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; forceValidOption="false"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value="Select HAPC"
&amp;nbsp;&amp;nbsp;&amp;nbsp; onChange="applyLayerDef(this)"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/select&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="mapDiv" style="width:600px; height:600px; border:1px solid #000;"&amp;gt;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp; &amp;lt;/body&amp;gt;

&amp;lt;/html&amp;gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Your comment reminded me that I had something similar working the other day in another file. I've included the full file here. Except I used onChange instead of onClick. My problem is really about how to zoom into a feature or graphic that the user chooses from a list. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As a beginner I've been struggling to figure out how to do this. I think I have to use a graphic but I'm not sure because this applyLayerDef function seems to have no problem displaying the individual feature. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also want the map to zoom into a predefined area with the first drop down box but that list is not getting populated from a map service. I've thought about using a JSON file.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:53:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-graphic-from-drop-down-list-that-is/m-p/171513#M15889</guid>
      <dc:creator>MikeOnzay</dc:creator>
      <dc:date>2021-12-11T08:53:11Z</dc:date>
    </item>
  </channel>
</rss>

