var map;
require([
"esri/map",
"esri/layers/ArcGISDynamicMapServiceLayer",
"esri/layers/ImageParameters",
"esri/tasks/QueryTask",
"esri/tasks/query",
"esri/symbols/SimpleMarkerSymbol",
"esri/InfoTemplate",
"dojo/_base/Color",
"dojo/domReady!"
], function(
Map,
ArcGISDynamicMapServiceLayer,
ImageParameters,
QueryTask,
Query,
SimpleMarkerSymbol,
InfoTemplate,
Color
) {
map = new Map("mapDiv", {
center: [-123.8425, 45.4552],
zoom: 16,
basemap: "streets"
});
var imageParameters = new ImageParameters();
imageParameters.layerOption = ImageParameters.LAYER_OPTION_SHOW;
imageParameters.layerIds = [4];
imageParameters.transparent = true;
var dynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer("http://host:6080/arcgis/rest/services/Data/MapServer", {
"opacity" : 1.0,
"imageParameters": imageParameters
});
map.addLayer(dynamicMapServiceLayer);
queryTask = new QueryTask("http://host:6080/arcgis/rest/services/Data/MapServer/4");
query = new Query();
query.returnGeometry = true;
query.outFields = ["OBJECTID"];
infoTemplate = new InfoTemplate("${OBJECTID}", "OBJECTID : ${OBJECTID}");
symbol = new SimpleMarkerSymbol();
symbol.setStyle(SimpleMarkerSymbol.STYLE_SQUARE);
symbol.setSize(1000);
symbol.setColor(new Color([255,0,0,1]));
query.where = "OBJECTID = 1";
queryTask.execute(query, showResults);
function showResults(featureSet) {
//remove all graphics on the maps graphics layer
map.graphics.clear();
//Performance enhancer - assign featureSet array to a single variable.
var resultFeatures = featureSet.features;
//Loop through each feature returned
for (var i=0, il=resultFeatures.length; i<il; i++) {
//Get the current feature from the featureSet.
//Feature is a graphic
var graphic = resultFeatures[i];
graphic.setSymbol(symbol);
//Set the infoTemplate.
graphic.setInfoTemplate(infoTemplate);
//Add graphic to the map graphics layer.
map.graphics.add(graphic);
}
}
});
I followed this ESRI example:
https://developers.arcgis.com/javascript/jshelp/intro_querytask.html
But when I test it I get an error:
Resource interpreted as Script but transferred with MIME type text/plain: "http://host:6080/arcgis/rest/services/Data/MapServer/4/q…Fields=OBJECTID&callback=dojo.io.script.jsonp_dojoIoScript3._jsonpCallback". init.js:495
Resource interpreted as Script but transferred with MIME type text/plain: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer?f=json&callback=dojo.io.script.jsonp_dojoIoScript1._jsonpCallback". init.js:495
TypeError {stack: (...), message: "Cannot read property 'clear' of null"}
"TypeError: Cannot read property 'clear' of null
at showResults (http://test/test/script.js:61:15)
at e._successHandler (http://js.arcgis.com/3.10/init.js:490:193)
at e._handler (http://js.arcgis.com/3.10/init.js:1424:385)
at http://js.arcgis.com/3.10/init.js:174:23
at Object.d.load (http://js.arcgis.com/3.10/init.js:1420:411)
at http://js.arcgis.com/3.10/init.js:630:478
at c (http://js.arcgis.com/3.10/init.js:74:221)
at d (http://js.arcgis.com/3.10/init.js:74:10)
at resolve.callback (http://js.arcgis.com/3.10/init.js:75:350)
at c (http://js.arcgis.com/3.10/init.js:74:436)"
I know there should be a query result because I tested it through REST. I entered the query OBJECTID = 1 through REST and it returned a single record.
Any idea what could be wrong? I'm stumped.