private IEnumerator _CheckGPS()
    {
        bool mustCheckGPS = false;

        GPSService.StartGPS();

        if (!GPSService.IsActive())
        {
            gpsStatus.text = "Aguardando ativação do GPS no celular";
            mustCheckGPS   = true;
        }
        else if (GPSService.location[0] == 0.0 || GPSService.location[1] == 0.0)
        {
            GPSService.ReceivePlayerLocation();
            gpsStatus.text = "Obtendo localização...";
            mustCheckGPS   = true;
        }
        else
        {
            gpsStatus.text = "Localização obtida";
        }

        if (mustCheckGPS)
        {
            yield return(new WaitForSeconds(2));

            yield return(StartCoroutine(_CheckGPS()));
        }
        else
        {
            yield return(null);
        }
    }
    private string CheckFields()
    {
        string message = CHECK_OK;

        GPSService.ReceivePlayerLocation();

        if (CURRENT_GET_LOCATION == "GPS" &&
            (GPSService.location[0] == 0.0 ||
             GPSService.location[1] == 0.0 ||
             !GPSService.IsActive())
            )
        {
            message = "Ainda não obtivemos sua geolocalização. Verifique se seu GPS está ligado.";
        }

        if (camService.photoBase64 == null)
        {
            message = "Capture ou selecione a foto do local que deseja realizar o plantio.";
        }

        if (placeDropdown.captionText.text == "Calçada" &&
            sideWalkSize.text.Length < 2)
        {
            message = "Escreva o tamanho de sua calçada em centímetros.";
        }

        if (plantName.text.Length < 2)
        {
            message = "O nome da muda deve possuir, pelo menos, dois caracteres.";
        }

        if (requesterName.text.Length < 3)
        {
            message = "O nome do solicitante deve possuir, pelo menos, três caracteres.";
        }

        if (requesterPhone.text.Length < 8)
        {
            message = "O telefone do solicitante deve conter, pelo menos, oito dígitos.";
        }

        if (UserService.user.IsMinor() && !termsToggle.isOn)
        {
            message = "Você deve concordar com o termo de ciência de pedidos no Minha Árvore.";
        }

        if (quantityField.text.Length < 1 || int.Parse(quantityField.text) < 1)
        {
            message = "Você deve pedir, pelo menos, uma planta no campo de quantidade.";
        }

        if (CURRENT_GET_LOCATION == "MANUAL")
        {
            if (streetField.text.Length < 5 ||
                numberField.text.Length < 1 ||
                neighborhoodField.text.Length < 3 ||
                cityField.text.Length < 2 ||
                zipField.text.Length < 8)
            {
                message = "Preencha seu endereço por completo.";
            }
        }


        return(message);
    }