Select to view content in your preferred language

Graphic layer won't show

2866
16
Jump to solution
05-03-2012 07:07 AM
NigelAlford
Occasional Contributor
I'm recreating the "multiple graphic layer" example but the graphic layer won't show. I'm using Bing for the basemap and our internal Server Services for the layers Any insight would be great.

Thanks

dojo.require("esri.map");       dojo.require("esri.virtualearth.VETiledLayer");       dojo.require("esri.layers.FeatureLayer");       dojo.require("esri.layers.graphics");       dojo.require("esri.tasks.query");        var map, graphics, BINGMAPS;        function init()        {         var initialExtent = new esri.geometry.Extent({ "xmin": -9414173.061, "ymin": 3995118.342, "xmax": -9398289.375, "ymax": 4014748.679, "spatialReference": { "wkid": 102100} });         map = new esri.Map("map", {extent: initialExtent,wrapAround180: true, logo:false});                  dojo.connect(map, "onLoad", doQueries);         veTileLayer = new esri.virtualearth.VETiledLayer({bingMapsKey: 'AimF6LphvVcbtQZOyiopeyQT8n-QOTukhwoRZwnzKL1MM0_B1Dfc7ppeKmyPByKp',      mapStyle: esri.virtualearth.VETiledLayer.MAP_STYLE_ROAD });         map.addLayer(veTileLayer);       }        function doQueries(map)        {         //Locomotive Query         var locQueryTask = new esri.tasks.QueryTask("http://esoc1.nscorp.com/ArcGISProduction/rest/services/ITGIS/LOCOMOTIVE_LOCATION/MapServer/0");         var locQuery = new esri.tasks.Query();         locQuery.outFields = ["Loc_INIT", "LOC_NUM", "DTM", "LOC_TYPE", "FUEL_LEVEL, ENGINE_ONOFF, ENGINE_TEMP"];         locQuery.returnGeometry = true;         locQueryTask.execute(locQuery, LocSymbology);          //Track Query         var TrackQueryTask = new esri.tasks.QueryTask("http://esoc1.nscorp.com/ArcGISProduction/rest/services/EGIS/ENG_TRACK/MapServer/1");         var TrackQuery = new esri.tasks.Query();         TrackQuery.outFields = ["DIVCODE", "CREATEDATE"];         TrackQuery.returnGeometry = true;         TrackQuery.outSpatialReference = map.spatialReference;         TrackQueryTask.execute(TrackQuery, TrackSymbology);                  //Milepost Query         var MPQueryTask = new esri.tasks.QueryTask("http://esoc1.nscorp.com/ArcGISProduction/rest/services/EGIS/ENG_MPMARK/MapServer/0");         var MPQuery = new esri.tasks.Query();         MPQuery.outFields = [ "MPMARKER", "DIVCODE", "CREATEDATE", "ASSET_PK" ];         MPQuery.returnGeometry = true;         MPQuery.outSpatialReference = map.spatialReference;         MPQueryTask.execute(MPQuery, MPSymbology);                  //Extra Section for another layer to be queried         /*var cityQueryTask = new esri.tasks.QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0/");         var cityQuery = new esri.tasks.Query();         cityQuery.outFields = ["*"];         cityQuery.returnGeometry = true;         cityQuery.outSpatialReference = map.spatialReference;         cityQueryTask.execute(cityQuery, addCityFeatureSetToMap);*/       }              function TrackSymbology(featureSet) {         var TrackSymbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255,97,3]), 2);          //Create graphics layer for cities         var TrackLayer = new esri.layers.GraphicsLayer("http://esoc1.nscorp.com/ArcGISProduction/rest/services/EGIS/ENG_TRACK/MapServer/1");         TrackLayer.setInfoTemplate(new esri.InfoTemplate("Track Division: ","${DIVCODE}","${*}"));                  map.addLayer(TrackLayer);         //map.reorderLayer(TrackLayer,1);          //Add cities to the graphics layer         dojo.forEach(featureSet.features, function(feature) {TrackLayer.add(feature.setSymbol(TrackSymbol));         });       }              function LocSymbology(featureSet) {         var locsymbol =  new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE, new dojo.Color([255,0,0]), 3);          //Create graphics layer for Locomotive         var locLayer = new esri.layers.GraphicsLayer("http://esoc1.nscorp.com/ArcGISProduction/rest/services/ITGIS/LOCOMOTIVE_LOCATION/MapServer/0");         locLayer.setInfoTemplate(new esri.InfoTemplate("${LOC_INIT}${LOC_NUM}","${*}"));         map.addLayer(locLayer);         //map.reorderLayer(TrackLayer,1);          //Add Locomotive to the graphics layer         dojo.forEach(featureSet.features, function(feature) {           locLayer.add(feature.setSymbol(locsymbol));         });       }       function MPSymbology(featureSet) {         var MPSymbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE, new dojo.Color([0,178,238]), 2);          //Create graphics layer for cities         var MPLayer = new esri.layers.GraphicsLayer("http://esoc1.nscorp.com/ArcGISProduction/rest/services/EGIS/ENG_MPMARK/MapServer/0");         MPLayer.setInfoTemplate(new esri.InfoTemplate("MP Number: ","${MPMARKER}","${*}"));                  map.addLayer(MPLayer);         //map.reorderLayer(MPLayer,1);          //Add cities to the graphics layer         dojo.forEach(featureSet.features, function(feature) {         MPLayer.add(feature.setSymbol(MPSymbol));         });       }        dojo.addOnLoad(init);     </script>    </head>   <body>     <div id="map" style="width:100%; height:100%;">      <a href="http://www.mapsd.nscorp.com"><img src="Images/itgispoweredby.png" alt="View Logo" /></a>      </div>   </body>
0 Kudos
16 Replies
derekswingley1
Deactivated User
Let's stick with the query task + graphics layer approach for now.

The second code snippet you posted is showing that your queryTask is failing. You need to get this sorted out before you'll be able to add features to your map.
0 Kudos
NigelAlford
Occasional Contributor
ok,

So that service is on a production machine and changing it takes a little bit of red tape. it looks like that service doesn't have the query function activated. i'll work on that a little later. For the sake of completion I've commented out the query task and Graphic feature task associated with that service. I added the same console log to the other two layers and i'm getting this:
1.
Resource interpreted as Script but transferred with MIME type text/plain: "http://esoc1.nscorp.com/ArcGISProduction/rest/services/EGIS/ENG_TRACK/FeatureServer/1/query?f=json&where=&returnGeometry=true&spatialRel=esriSpatialRelIntersects&outFields=DIVCODE%2CCREATEDATE&outSR=102100&callback=dojo.io.script.jsonp_dojoIoScript2._jsonpCallback". serverapi.arcgisonline.com:48
dojo.io.script.attach serverapi.arcgisonline.com:48
dojo.io.script.get serverapi.arcgisonline.com:48
esri._request serverapi.arcgisonline.com:48
esri.request serverapi.arcgisonline.com:48
_4.declare.execute query.xd.js:19
esri._createWrappers.dojo.forEach._2fa.(anonymous function) serverapi.arcgisonline.com:48
doQueries MultiQuery.html:73
dojo._listener.getDispatcher serverapi.arcgisonline.com:14
dojo.declare._addLayerHandler serverapi.arcgisonline.com:48
dojo.hitch serverapi.arcgisonline.com:14
dojo.declare._addLayer._4f2 serverapi.arcgisonline.com:48
dojo.declare._addLayer serverapi.arcgisonline.com:48
dojo.declare._addLayerHandler serverapi.arcgisonline.com:48
dojo.hitch serverapi.arcgisonline.com:14
dojo._listener.getDispatcher serverapi.arcgisonline.com:14
_4.declare._initLayer VETiledLayer.xd.js:19
dojo.hitch serverapi.arcgisonline.com:14
esri.request.dfd.addErrback._2ad serverapi.arcgisonline.com:48
_144 serverapi.arcgisonline.com:14
_142 serverapi.arcgisonline.com:14
dojo.Deferred.resolve.callback serverapi.arcgisonline.com:14
(anonymous function) serverapi.arcgisonline.com:48
_144 serverapi.arcgisonline.com:14
_142 serverapi.arcgisonline.com:14
dojo.Deferred.resolve.callback serverapi.arcgisonline.com:14
_144 serverapi.arcgisonline.com:14
_142 serverapi.arcgisonline.com:14
dojo.Deferred.resolve.callback serverapi.arcgisonline.com:14
_144 serverapi.arcgisonline.com:14
_142 serverapi.arcgisonline.com:14
dojo.Deferred.resolve.callback serverapi.arcgisonline.com:14
_144 serverapi.arcgisonline.com:14
_142 serverapi.arcgisonline.com:14
dojo.Deferred.resolve.callback serverapi.arcgisonline.com:14
dojo.io.script._resHandle serverapi.arcgisonline.com:48
func serverapi.arcgisonline.com:14
_2c8


2.
Resource interpreted as Script but transferred with MIME type text/plain: "http://esoc1.nscorp.com/ArcGISProduction/rest/services/EGIS/ENG_TRACK/FeatureServer/1/query?f=json&where=&returnGeometry=true&spatialRel=esriSpatialRelIntersects&outFields=DIVCODE%2CCREATEDATE&outSR=102100&callback=dojo.io.script.jsonp_dojoIoScript2._jsonpCallback". serverapi.arcgisonline.com:48
dojo.io.script.attach serverapi.arcgisonline.com:48
dojo.io.script.get serverapi.arcgisonline.com:48
esri._request serverapi.arcgisonline.com:48
esri.request serverapi.arcgisonline.com:48
_4.declare.execute query.xd.js:19
esri._createWrappers.dojo.forEach._2fa.(anonymous function) serverapi.arcgisonline.com:48
doQueries MultiQuery.html:73
dojo._listener.getDispatcher serverapi.arcgisonline.com:14
dojo.declare._addLayerHandler serverapi.arcgisonline.com:48
dojo.hitch serverapi.arcgisonline.com:14
dojo.declare._addLayer._4f2 serverapi.arcgisonline.com:48
dojo.declare._addLayer serverapi.arcgisonline.com:48
dojo.declare._addLayerHandler serverapi.arcgisonline.com:48
dojo.hitch serverapi.arcgisonline.com:14
dojo._listener.getDispatcher serverapi.arcgisonline.com:14
_4.declare._initLayer VETiledLayer.xd.js:19
dojo.hitch serverapi.arcgisonline.com:14
esri.request.dfd.addErrback._2ad serverapi.arcgisonline.com:48
_144 serverapi.arcgisonline.com:14
_142 serverapi.arcgisonline.com:14
dojo.Deferred.resolve.callback serverapi.arcgisonline.com:14
(anonymous function) serverapi.arcgisonline.com:48
_144 serverapi.arcgisonline.com:14
_142 serverapi.arcgisonline.com:14
dojo.Deferred.resolve.callback serverapi.arcgisonline.com:14
_144 serverapi.arcgisonline.com:14
_142 serverapi.arcgisonline.com:14
dojo.Deferred.resolve.callback serverapi.arcgisonline.com:14
_144 serverapi.arcgisonline.com:14
_142 serverapi.arcgisonline.com:14
dojo.Deferred.resolve.callback serverapi.arcgisonline.com:14
_144 serverapi.arcgisonline.com:14
_142 serverapi.arcgisonline.com:14
dojo.Deferred.resolve.callback serverapi.arcgisonline.com:14
dojo.io.script._resHandle serverapi.arcgisonline.com:48
func serverapi.arcgisonline.com:14
_2c8


In looking it seems to be the same problem for all the layers. Any idea why the query is failing. Is is it the service configuration?
0 Kudos
NigelAlford
Occasional Contributor
I followed the error and here is the return:
dojo.io.script.jsonp_dojoIoScript2._jsonpCallback({"error":{"code":500,"message":"An unexpected error occurred processing the request.","details":[]}});
0 Kudos
derekswingley1
Deactivated User
If you're service isn't configured to support querying, you won't be able to get the features.

When you go to the service's REST endpoint, which should be http://esoc1.nscorp.com/ArcGISProduction/rest/services/ITGIS/LOCOMOTIVE_LOCATION/MapServer/0, do you see "Query" under supported operations at the bottom of the page?
0 Kudos
NigelAlford
Occasional Contributor
yes, The services are setup to support querying
0 Kudos
derekswingley1
Deactivated User
Next thing to check:  click the query link, specify 1=1 for the where clause and "Query(GET)". What happens?
0 Kudos
NigelAlford
Occasional Contributor
I can see the number of records returned from the query and the x&y of each point.
0 Kudos