"Locking" entities to 3D terrain

My web-page has several hundred entities (each with a label and billboard). If I don't specify a terrainProvider, the entities are displayed in the correct locations and remain in the correct locations as I drag and tilt the map. However, if I set the terrainProvider so the mountains appear in 3D and then drag or tilt the map, the entities are not displayed in the correct locations and they "slide" as I drag the map (i.e., when I drag the mountains, the entities move slower than the terrain). FWIW, I'm using CLAMP_TO_GROUND to position the entities at the correct elevation.

The following code illustrates this behavior, but it isn't as obvious with only one label and no billboard (the label does, however, "slide" as as the terrain is tilted). (Side Note: even though I use zoomTo(), I usually need to zoom-out to see the label.)

var viewer = new Cesium.Viewer('cesiumContainer', {
    baseLayerPicker : false,
    terrainProvider : new Cesium.CesiumTerrainProvider({ url : '//assets.agi.com/stk-terrain/world' })
});

var entity = viewer.entities.add({
    position : Cesium.Cartesian3.fromDegrees(-111.32, 41.00),
    label : {
        text : 'label',
    HeightReference : Cesium.HeightReference.CLAMP_TO_GROUND
    },
    HeightReference : Cesium.HeightReference.CLAMP_TO_GROUND
});

viewer.zoomTo( entity );

Thanks for your help!

Data on terrain is still a work in progress and isn’t supported yet in the Entity API. We’re hopeful to add it to Cesium within the next couple of months and the result will be very similar to the code you posted.

Thanks Matthew.

I got very close by calling Cesium.sampleTerrain() to get the terrain height, but when I zoom in/out the entity's vertical position changes relative to the terrain (i.e., the entity starts at the correct height but sinks below the terrain as I zoom in).

Cesium.when(Cesium.sampleTerrain(viewer.terrainProvider, 9, terrainPositions), addEntity );

Is that a known problem? Is it possible to position entities so they remain on top of terrain using this approach?

Thanks for the help. I'm stoked to be moving away from the Google Earth plugin!

Steve