-
Notifications
You must be signed in to change notification settings - Fork 5
Description
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).