Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exibir no mapa pontos adicionais referentes às denúncias de aglomeração #234

Open
manoelcampos opened this issue Aug 19, 2020 · 0 comments
Assignees
Labels
Milestone

Comments

@manoelcampos
Copy link
Contributor

manoelcampos commented Aug 19, 2020

Atualmente a função getMarkersRecentes() do componente Mapa obtém a lista dos dispositivos ativos nos últimos 5 minutos. Em tal função, é preciso fazer um get no novo endpoint /notificacao (acesse http://servidor/api-docs/ para mais detalhes) para obter as notificações recentes.

Tal endpoint retorna um vetor de objetos como abaixo:

[
   { "latitude": 90.00000, "longitude": 180.00000, "estimativa_media_pessoas": 54 }, 
   { "latitude": 92.00000, "longitude": 150.00000, "estimativa_media_pessoas": 42 }
]

Cada objeto no vetor fornece a média de pessoas entre as várias notificações recentes em um local.
O app deve obter tal vetor e percorrê-lo. Para cada objeto do vetor, deve-se criar um total de markers igual ao valor do atributo estimativa_media_pessoas. Se existirem 10 notificações recentes para um local, o valor 54 do primeiro item significa que em média, os usuários notificaram que existem 54 pessoas aglomerando no local indicado.

Desta forma, no exemplo acima, para o 1º item do vetor, devem ser criados 54 markers. Para o 2º item, 42 markers.
Em cada item, para que os markers não apareçam no mapa no mesmo exato local, deve-se adicionar um valor aleatório à latitude e longitude usando Math.random() * 0.0000099. Isto vai adicionar um valor aleatório nas duas últimas casas decimais da latitude e longitude.

Detalhes

Você deve apenas alterar a função getMarkersRecentes() para, além de chamar getLocalizacoesRecentes()
e exibir os markers para o retorno desta última função, chamar uma função a ser criada e exibir markers adicionais conforme descrito acima.

Esta função a ser criada vai acessar o novo endpoint /notificacao por meio de GET (sem parâmetros).

Issues Relacionadas

@manoelcampos manoelcampos added this to the v1.2.0 milestone Aug 19, 2020
@manoelcampos manoelcampos changed the title Exibir no mapa pontos adicionais referentes às notificações de aglomeração Exibir no mapa pontos adicionais referentes às denúncias de aglomeração Sep 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants