当单击地图区域时,尝试使用经度和纬度从API提取时,我遇到问题。初始地图加载很好,API中的数据按预期显示,并且我可以确认geoLoc数组状态正在更新onClick,因为控制台日志显示了这一点。但是,由于某些原因,即使geoLoc.latitude和geoLoc.longitude的状态都在更改,API也不会更新。有什么理由吗?任何帮助将非常感激!谢谢
using System;
using Xamarin.Forms;
using XPerfilEMenu.Tarefas;
namespace XPerfilEMenu.Tarefas
{
public partial class Cadastro : ContentPage
{
private string Prioridade { get; set; }
public byte PrioridadeFinal { get; set; }
public Cadastro()
{
InitializeComponent();
}
public void PrioridadeEscolhida(object sender, EventArgs args)
{
//Primeiro localiza todas labels com base no slprioridades e vamos fazer com que todas forcem para cor cinza e depois faz apenas o elemento clicado fique escuro
var Stacks = SLPrioridades.Children;
foreach(var Linha in Stacks)
{
Label LabelPrioridade = ((StackLayout)Linha).Children[1] as Label;
LabelPrioridade.TextColor = Color.Gray;
}
//Agora vamos transformar o que foi clicado em preto
((Label)((StackLayout)sender).Children[1]).TextColor = Color.Black;
//Capturando qual foi a prioridade clicada com base no nome da imagem.
FileImageSource Source = ((Image)((StackLayout)sender).Children[0]).Source as FileImageSource;
//Para obter o nome do elemento clicado, se usa:
Prioridade = Source.File.ToString().Replace(".png", "");
}
//Salvando novo evento
public void AdicionarTarefa(object sender, EventArgs args)
{
bool ErroExiste = false;
//Verificando se os dois campos estão preenchidos. Para strings, verificando se o tamanho é maior que 0:
if (!(TarefaDigitada.Text.Trim().Length > 0))
{
ErroExiste = true;
DisplayAlert("Erro", "Tarefa não digitada", "Okay");
}
//Já, para a prioridade,
if (!(Prioridade.Trim().Length > 0))
{
ErroExiste = true;
DisplayAlert("Erro", "Prioridade não escolhida", "Okay");
}
//Se o bool ErroExiste chegar até o final como falsa, a tarefa será salva.
if (ErroExiste == false)
{
PostsAFazer postsAFazer = new PostsAFazer();
postsAFazer.Nome = TarefaDigitada.Text.Trim();
postsAFazer.Prioridade = byte.Parse(Prioridade);
new GerenciadorPostagens().Salvar(postsAFazer);
//Para confirmar, fazemos o campo de digitar a tarefa para mostrar quantos elementos temos na lista
TarefaDigitada.Text = new GerenciadorPostagens().Listagem().Count.ToString();
}
}
}
}