iftopalmas/aglomerou

Atualizar em tempo real o Marker com a localização do usuário

Opened this issue · 7 comments

O app não atualiza o Marker da posição do usuário enquanto o ele se movimenta.
A atualização do Marker pode ser feita dentro do serviço que é notificado sempre que a localização muda,
mas é preciso verificar se o Mapa está aberto para poder atualizar o Marker.

Isto funcionará como no app do Uber, onde podemos ver em tempo real a localização do motorista. Mas neste caso, é o próprio usuário vendo em tempo real onde ele está.

@manoelcampos, Boa noite eu não entendi muto bem o que é para fazer. O senhor pode me dar mais informações?

A ideia é que sempre que a localização do usuário mudar, que o marker que mostra onde ele está no mapa seja atualizado também, como o Uber, onde o usuário acompanha o veículo em tempo real.
Este link mostra a função que é chamada automaticamente quando a localização do usuário muda.

Dentro desta função, você deverá verificar se o mapa está aberto e atualizar o marker do usuário lá.
Pode exigir um pouco mais de pesquisa, pois não sei como fazer essa comunicação com um componente.
Vou pesquisar e lhe falo se encontrar na documentação.

@manoelcampos, ok professor obrigado pela informação. Eu estou pesquisando.

Boa noite, estou tentando resolver essa issue, más estou tendo muitos problemas para resolver. O app não roda o servidor não esta funcionando. Tentei rodar localmente, configurei o user, host, database, password.
Criei um arquivo .env na pasta backend, más eu não sei quais informações eu devo colocar no arquivo.

Erro:
Error: Cannot find module 'dotenv/config'
Require stack:

  • /home/ragir/projetoAglomerou/backend/app.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object. (/home/ragir/projetoAglomerou/backend/app.js:1:1)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [ '/home/ragir/projetoAglomerou/backend/app.js' ]

@anabeatrix, passei a issue pra você. Por favor, veja a discussão aqui e tente resolver.
O problema é que o Mapa é um componente e o arquivo utils/LocalizacaoDispositivo.js não é.
O @ragirfernando tinha tentado usar props pra resolver, mas acho que só funciona entre dois componentes.
@radaelilucca, tem alguma ideia?

Podemos utilizar o WhatchPositionAsync direto no componente do mapa e resolver essa problemática. Acho que podemos até trocar todo o sistema de localização inicial pra utilizar o WatchPosition, ai fica tudo numa coisa só. O utils/LocalizacaoDispositivo.js fica responsável por lidar com os serviços de localização que alimentam o back-end.

Ótimo. Obrigado @radaelilucca.
@anabeatrix, a bola tá contigo.