Easiest solution is to switch this line to "new Cesium.Cartesian3(x, y, z).
x = meters East/West using object position as origin
y = meters North/South using object position as origin
z = meters altitude using object position as origin
The next problem is going to show up when you try to follow the object with the camera. You are creating a local variable for your entity view: var entityView = new Cesium.EntityView(entity, scene); Which means your camera update function won’t have access to it and it will always be undefined. Easiest solution is to make entityView a global variable and just assign to it in FlyToObject().
I think I see 2 problems. The first is that Cesium.Cartesian3.fromDegrees(40.637181, -111.478679, 100.0); seems to be assuming an earth centered reference frame. So this is moving the camera to 40 latitude / -111 longitude instead of 40/-111 degree rotation about the object’s position (that I thought it would do). Sorry, this one is my fault.