AnsweredAssumed Answered

How to use a field value for StreamLayer.elevationInfo offset with SceneView

Question asked by GSheppard-esristaff Employee on Jul 29, 2015
Latest reply on Jul 31, 2015 by GSheppard-esristaff

StreamLayer has a property called elevationInfo, which itself has a property called offset. This is for setting the elevation of StreamLayer points when used with a 3D SceneView. The type for offset is Number. Rather than use an arbitrary number, like 42, I want to use a field in the stream service, like Altitude, so that each point is vertically offset according to its altitude value. Is that possible? If not, will it be possible in a future release?

 

I have tried a few different ways of setting the offset, but anything but an actual number value causes the StreamLayer not to display.

 

My code is in Dropbox: Simple 3D Map . View the source of that page to see my complete code. Here's the relevant portion:

 

  streamLayer = new StreamLayer(
    "https://geoeventsample3.esri.com:6443/arcgis/rest/services/SeattleBus/StreamServer", {
        purgeOptions: { displayCount: 5000 },
        socketDirection: "subscribe"
    }
  );
  streamLayer.elevationInfo = {
    mode: "absoluteHeight",
    offset: 500 //This works
    //offset: "500" //This causes the StreamLayer not to display
    //offset: "Altitude" //This causes the StreamLayer not to display
    //offset: "${Altitude}" //This causes the StreamLayer not to display
  }

Outcomes