protected void Update()
    {
        double latitude  = Input.location.lastData.latitude;
        double longitude = Input.location.lastData.longitude;

        var position = this.celestialManager.CalculatePosition(DateTime.UtcNow, latitude, longitude);


        double distance = CelestialScale.MoonScale(0.04f).AproxDistance;

        Vector3   v          = Spherical.SphericalToCartesian(Math.PI / 2 - position.altitude, position.azimuth, distance /* moonPosition.distance / 405629.76174948126*/);
        Spherical vSpherical = (Spherical)v;

        Vector3 titlePosition = v.AddTheta(-Mathf.PI / 16);

        //titlePosition.y+=1.5f;


        myTextMesh.text           = String.Format("{0}\n{1}\n{2} Km.", celestialManager.Name, celestialManager.Status, distance);
        myText.transform.position = titlePosition;
        myText.transform.rotation = Quaternion.EulerAngles(0, vSpherical.phi, 0);

        transform.rotation = Quaternion.EulerAngles(0, vSpherical.phi + Mathf.PI / 2, 0);
        transform.position = v;
    }