public void DesativarAncora(PosicaoHistorico posicaoHistorico)
        {
            ModelPosicao _modelPosicao = new ModelPosicao();

            _tokensource = new CancellationTokenSource();
            Task.Run(async() =>
            {
                ServiceResult <Int32> result = new ServiceResult <Int32>();
                _view.ExibirLoad();
                BtnTopIsEnabled = false;
                try
                {
                    result = await _modelPosicao.DesativarAncora(
                        posicaoHistorico
                        , _tokensource.Token
                        );
                }
                catch
                {
                    result.MessageError = "Exception";
                }
                finally
                {
                    DesativarAncora_Finish(
                        result
                        , posicaoHistorico
                        );
                }
            }, _tokensource.Token);
        }
        private void BuscarPosicao()
        {
            try
            {
                _tokensource = new CancellationTokenSource();
                Task.Run(async() =>
                {
                    try
                    {
                        //Task.Run(async () =>
                        //{
                        if (String.IsNullOrEmpty(_posicaoDetalhes.Endereco))
                        {
                            String endereco           = await FindAddressByPosition(_posicaoDetalhes.Latitude.Value, _posicaoDetalhes.Longitude.Value);
                            _posicaoDetalhes.Endereco = endereco;
                        }
                        //});


                        BtnTopIsEnabled            = false;
                        ModelPosicao _modelPosicao = new ModelPosicao();
                        Device.BeginInvokeOnMainThread(() =>
                        {
                            this._bllMapa.LimpaMapa();
                        });

                        Int64?idPosicao = null;
                        if (_posicaoDetalhes.ExibeUltimaPosicao == false)
                        {
                            idPosicao = _posicaoDetalhes.IdPosicao;
                        }


                        ServiceResult <Posicao> resultPainel =
                            await _modelPosicao.Get(
                                idPosicao
                                , _posicaoDetalhes.IdUnidadeRastreada
                                , _posicaoDetalhes.OrdemRastreador
                                , _tokensource.Token
                                );

                        if (!_tokensource.IsCancellationRequested)
                        {
                            UpdateToken(resultPainel.RefreshToken);

                            if (String.IsNullOrWhiteSpace(resultPainel.MessageError))
                            {
                                Posicao tempPosicao = resultPainel.Data;

                                if (tempPosicao.Latitude != null)
                                {
                                    tempPosicao.Endereco = _posicaoDetalhes.Endereco;


                                    PainelResumoListViewSource = tempPosicao;



                                    PosicaoHistorico posicao = new PosicaoHistorico()
                                    {
                                        CorRegraPrioritaria    = tempPosicao.CorRegraPrioritaria,
                                        DataEvento             = tempPosicao.DataEvento.ToLocalTime(),
                                        Identificacao          = tempPosicao.Identificacao,
                                        IdTipoUnidadeRastreada = tempPosicao.IdTipoUnidadeRastreada,
                                        //Ignicao = tempPosicao.Ignicao,
                                        Latitude                    = tempPosicao.Latitude,
                                        Longitude                   = tempPosicao.Longitude,
                                        NomeRegraViolada            = tempPosicao.NomeRegraViolada,
                                        Velocidade                  = tempPosicao.Velocidade,
                                        ResponsavelUnidadeRastreada = tempPosicao.ResponsavelUnidadeRastreada,
                                        Endereco                    = _posicaoDetalhes.Endereco
                                    };

                                    if (tempPosicao.Ignicao != null)
                                    {
                                        posicao.Ignicao = tempPosicao.Ignicao;
                                    }


                                    //Monta StreetView
                                    MontaStreetView(posicao.Latitude.Value, posicao.Longitude.Value);



                                    posicao.ExibeUltimaPosicao = _posicaoDetalhes.ExibeUltimaPosicao;
                                    posicao.IdUnidadeRastreada = _posicaoDetalhes.IdUnidadeRastreada;

                                    if (tempPosicao.Ancora_Latitude != null)
                                    {
                                        posicao.Ancora_Latitude   = tempPosicao.Ancora_Latitude;
                                        posicao.Ancora_Longitude  = tempPosicao.Ancora_Longitude;
                                        posicao.Ancora_Tolerancia = tempPosicao.Ancora_Tolerancia;
                                    }

                                    posicao.OrdemRastreador = _posicaoDetalhes.OrdemRastreador;

                                    if (_painelDto.Id == 2 && _posicaoDetalhes.CorRegraPrioritaria != null) //Fixa Cor Alerta
                                    {
                                        posicao.CorRegraPrioritaria = _posicaoDetalhes.CorRegraPrioritaria;
                                        posicao.NomeRegraViolada    = _posicaoDetalhes.NomeRegraViolada;
                                    }


                                    _view.MontaDetalheTopoPosicao(posicao);


                                    _posicaoHistorico = posicao;

                                    PainelSensoresListViewSource    = tempPosicao.Sensores;
                                    PainelAtuadoresListViewSource   = tempPosicao.Atuadores;
                                    PainelTelemetriaListViewSource  = tempPosicao.Telemetrias;
                                    PainelInformacoesListViewSource = tempPosicao.Informacoes;


                                    //Monta Mapa da Posicao
                                    MontaMapa(posicao);


                                    if (posicao.Ancora_Tolerancia != null)
                                    {
                                        _bllMapa.MontaMapaAncora(posicao, posicao.Ancora_Tolerancia.Value);
                                    }
                                }
                                else
                                {
                                    this._messageService.ShowAlertAsync(AppResources.NaoHaDetalhesPosicao);
                                }
                            }
                            else
                            {
                                ShowErrorAlert(resultPainel.MessageError);
                            }

                            _view.EscondeLoad();
                            this.PainelDetalhes_IsRefreshing = false;
                            BtnTopIsEnabled = true;
                        }
                    }
                    catch (Exception ex)
                    {
                        ShowErrorAlert("Exception");
                    }
                }, _tokensource.Token);
            }
            catch (Exception ex)
            {
                ShowErrorAlert("Exception");
            }
        }