Solved! Go to Solution.
<!DOCTYPE html> <html> <head> <title>Create a Map</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"> <link rel="stylesheet" href="http://js.arcgis.com/3.7/js/dojo/dijit/themes/claro/claro.css"> <link rel="stylesheet" href="http://js.arcgis.com/3.7/js/esri/css/esri.css"> <style> html, body, #mapDiv { padding: 0; margin: 0; height: 100%; } </style> <script src="http://js.arcgis.com/3.8/"></script> <script> var map; require([ "esri/map", "esri/tasks/query", "esri/tasks/QueryTask", "esri/symbols/SimpleMarkerSymbol", "esri/InfoTemplate", "dojo/_base/Color", "dojo/domReady!" ], function( Map, Query, QueryTask, SimpleMarkerSymbol, InfoTemplate, Color ) { map = new Map("mapDiv", { basemap: "streets", center: [-122,47], // long, lat zoom: 6, sliderStyle: "small" }); //Contrived sample first lets query the census layer to find a state then use that value to query //another service var queryTask = new QueryTask("http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3"); var query = new Query(); query.where = "STATE_FIPS = '53'"; //Washington query.returnGeometry = false; query.outFields = ["STATE_ABBR"]; queryTask.execute(query).then(getDetails); function getDetails(response){ //response is the value from query 1 we can use this to query another service and find //all the values where state abbreviation is WA if(response.features.length > 0){ var queryVal = response.features[0].attributes.STATE_ABBR; var query = new Query(); query.where = "State = '" + queryVal + "'"; query.returnGeometry = true; query.outFields = ["*"]; var queryTask = new QueryTask("http://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/CascadeCrest/FeatureServer/0"); queryTask.execute(query, addPointsToMap); } } function addPointsToMap(featureSet) { var symbol = new SimpleMarkerSymbol().setColor(new Color([255,255,128, .85])); var featuresX = featureSet.features; console.log(featuresX); var featureX; for (var i=0, il=featuresX.length; i<il; i++) { featureX = featuresX; map.graphics.add(featuresX.setSymbol(symbol)); } } }); </script> </head> <body class="claro"> <div id="mapDiv"></div> </body> </html>
!DOCTYPE html> <html> <head> <title>Create a Map</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"> <link rel="stylesheet" href="http://js.arcgis.com/3.7/js/dojo/dijit/themes/claro/claro.css"> <link rel="stylesheet" href="http://js.arcgis.com/3.7/js/esri/css/esri.css"> <style> html, body, #mapDiv { padding: 0; margin: 0; height: 100%; } </style> <script src="http://js.arcgis.com/3.8/"></script> <script> // Initializes map var map, defPopSymbol; require(["esri/map", "esri/tasks/query", "esri/tasks/QueryTask", "esri/symbols/SimpleMarkerSymbol", "esri/InfoTemplate", "dojo/_base/Color", "dojo/domReady!"], function(Map, Query, QueryTask, SimpleMarkerSymbol, InfoTemplate, Color) { map = new Map("mapDiv", { basemap: "streets", center: [-75.498,42.981], // long, lat zoom: 6, sliderStyle: "small" }); // Delcare the output array of query 1 var SchoolID = new Array (); SchoolPopSymbol = new SimpleMarkerSymbol().setColor(new Color([255,255,128, .85])); // Query 1 the related to get campus IDs of program var queryTask = new QueryTask("http://w7hp348/arcgis/rest/services/Testservice/XTest/MapServer/1"+ "?returnDistinctValues=true"); var query = new Query(); query.where = "Academic_Program_Name = 'Biology'"; query.returnGeometry = false; query.outFields = ["Primary_SUNY_Institution_ID"]; queryTask.execute(query, GetSchoolID); // Initialize query 2 which takes IDs obtained from query 1 and queries the Campus layer var queryTaskX = new QueryTask("http://w7hp348/arcgis/rest/services/Testservice/XTest/MapServer/0"); var queryX = new Query(); queryX.returnGeometry = true; queryX.outfields = ["CampusName"]; queryX.where = "SUNY_INSTITUTION_CODE = " + SchoolID; queryTaskX.execute(queryX, addPointsToMapX); // callback of query 1 populates "SchoolID" and fires query 2 function GetSchoolID(featureSet) { var features = featureSet.features; var feature; for (var i=0, il=features.length; i<il; i++) { feature = features; SchoolID = featureSet.features.attributes["Primary_SUNY_Institution_ID"]; } function addPointsToMapX(featureSet) { var featuresX = featureSet.features; var featureX; for (var i=0, il=featuresX.length; i<il; i++) { featureX = featuresX; map.graphics.add(featuresX.setSymbol(SchoolPopSymbol)); console.log(featureX.length); } } } }); </script> </head> <body class="claro"> <div id="mapDiv"></div> </body> </html>
<!DOCTYPE html> <html> <head> <title>Create a Map</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"> <link rel="stylesheet" href="http://js.arcgis.com/3.7/js/dojo/dijit/themes/claro/claro.css"> <link rel="stylesheet" href="http://js.arcgis.com/3.7/js/esri/css/esri.css"> <style> html, body, #mapDiv { padding: 0; margin: 0; height: 100%; } </style> <script src="http://js.arcgis.com/3.8/"></script> <script> var map; require([ "esri/map", "esri/tasks/query", "esri/tasks/QueryTask", "esri/symbols/SimpleMarkerSymbol", "esri/InfoTemplate", "dojo/_base/Color", "dojo/domReady!" ], function( Map, Query, QueryTask, SimpleMarkerSymbol, InfoTemplate, Color ) { map = new Map("mapDiv", { basemap: "streets", center: [-122,47], // long, lat zoom: 6, sliderStyle: "small" }); //Contrived sample first lets query the census layer to find a state then use that value to query //another service var queryTask = new QueryTask("http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3"); var query = new Query(); query.where = "STATE_FIPS = '53'"; //Washington query.returnGeometry = false; query.outFields = ["STATE_ABBR"]; queryTask.execute(query).then(getDetails); function getDetails(response){ //response is the value from query 1 we can use this to query another service and find //all the values where state abbreviation is WA if(response.features.length > 0){ var queryVal = response.features[0].attributes.STATE_ABBR; var query = new Query(); query.where = "State = '" + queryVal + "'"; query.returnGeometry = true; query.outFields = ["*"]; var queryTask = new QueryTask("http://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/CascadeCrest/FeatureServer/0"); queryTask.execute(query, addPointsToMap); } } function addPointsToMap(featureSet) { var symbol = new SimpleMarkerSymbol().setColor(new Color([255,255,128, .85])); var featuresX = featureSet.features; console.log(featuresX); var featureX; for (var i=0, il=featuresX.length; i<il; i++) { featureX = featuresX; map.graphics.add(featuresX.setSymbol(symbol)); } } }); </script> </head> <body class="claro"> <div id="mapDiv"></div> </body> </html>