Get Continuous Camera Position values


I'm trying to get camera position in a continuous manner(latitude, longitude, altitude, pitch, roll etc), e.g. if I try to set camera position for a object on map, I move it continuously until desired camera location is set.
I used LEFT_DOWN screen space event handler to capture camera details. Is there any better way to do this?? Sometimes even if I click I don't get new camera values, so not sure if that is changed from last LEFT DOWN EVENT.
I'm trying to achieve higher precision.

Here is sample code:

handler2 = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);

handler2.setInputAction(function(movement) {
  //console.log("Left down");
  var cartesian =, ellipsoid);

  var ray =;
  var position = viewer.scene.globe.pick(ray, viewer.scene);
  if (cartesian) {
    var cartographic = ellipsoid.cartesianToCartographic(cartesian);
    var cartographicAlt = ellipsoid.cartesianToCartographic(;
    longitudeString = Cesium.Math.toDegrees(ellipsoid.cartesianToCartographic(;
    latitudeString = Cesium.Math.toDegrees(ellipsoid.cartesianToCartographic(;
    altitudeString = cartographicAlt;
    pitchString = Cesium.Math.toDegrees(;
    rollString = Cesium.Math.toDegrees(;
    headingString = Cesium.Math.toDegrees(;
    tiltString = pitchString + 90;
}, Cesium.ScreenSpaceEventType.LEFT_DOWN);

You could listen for the camera’s changed event, and make sure to set the percentageChanged to a lower value than the default so it detects changes as sensitive as you need. There’s an example of this in the synced views code example:

Let me know if this helps!

Above example, replicates the camera to other viewer.
It is almost what I want, but I just want to extract Lat Lon from the movement.

You can get the latitude and longitude from the camera’s cartographic position: