queryTask.execute(query, selectShowResults, SQLerror); function selectShowResults(results) { //Create a feature layer from the results var featureSet = new esri.tasks.FeatureSet({ features: results.features }); var fields = [ { "name": "NAME", "type": "esriFieldTypeString", "alias": "Name" }, { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID" } ] var layerDefinition = { "geometryType": "esriGeometryPolygon", "fields": fields, "objectIdField": "OBJECTID", } var featureCollection = { layerDefinition: layerDefinition, featureSet: featureSet }; var layer = new esri.layers.FeatureLayer(featureCollection, { id: "query layer", mode: esri.layers.FeatureLayer.MODE_SNAPSHOT }) var renderer = new esri.renderer.SimpleRenderer( new esri.symbol.SimpleFillSymbol("solid", null, new dojo.Color([255, 0, 255, 0.75]) )); layer.setRenderer(renderer); map.addLayer(layer); }Solved! Go to Solution.
The query that I was using wasn't returning a feature within the map extent, so it was never going to work. I've updated the sample with a new extent and slightly different query, and it's working OK now.
Stepping through it, I can see that this line:
var featureSet = new esri.tasks.FeatureSet({
features: results.features
});is stripping the geometry from the results, meaning that the feature layer has no geometry.
function selectShowResults(results) {
//Create a feature layer from the results
var graphics = [];
var sfs = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,
new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT,
new dojo.Color([255,0,0]), 2),new dojo.Color([255,255,0,0.25]));
var infoTemplate = new esri.InfoTemplate();
for (var i = 0; i < results.features.length; i++) {
var feature = results.features;
var graphic = new esri.Graphic(feature.geometry,sfs,feature.attributes,infoTemplate);
graphics.push(graphic);
}
var sr = new esri.SpatialReference(102100);
var featureSet = new esri.tasks.FeatureSet({
geometryType: "esriGeometryPolygon",
features: graphics,
spatialReference: sr
});
Still no luck, though.... Thanks for any advice.
The query that I was using wasn't returning a feature within the map extent, so it was never going to work. I've updated the sample with a new extent and slightly different query, and it's working OK now.
Hello. The link you provided in your last post is not working. Can you post your solution? Thanks.