My advise is to write your own code to do it. The "Controls" classes in osgEarth exist only to support the SDK demos. You can use them if you want but they are minimal and we do not support them. In fact we are moving toward using ImGui for demos instead and Controls will eventually go away.
I built the telemetry compass using the osg objects. In particular the root object it's geode, that contains osgText and osg::Geometry....
Then, launching an osg application, I can see correctly the telemetry as you can see in the image
where the code in case of osg test is:
osg::Group* root= new osg::Group;
int width = 400; //px
int height = 40; //px
Telemetry* ruler = new Telemetry(width, height);
// rotate the scalar from XY plane to XZ so we see them viewing it with the default camera manipulators that look along the Y axis, with Z up.
osg::MatrixTransform* transform = new osg::MatrixTransform;
transform->setMatrix(osg::Matrix::rotate(osg::inDegrees(90.0), 1.0, 0.0, 0.0));
// add model to viewer.
Then, since I need to insert the node "Telemetry" in the osgEarth application, I insert the node as child of root node....
The problem is that in this case the telemetry is not shown, why?
I need to define some properties for Telemetry (geode)?