1
resposta

Busca de proximidade

No curso aprendemos de forma muito eficiente a fazer queries por proximidade, até ai OK, mas estou com o seguinte cenário e gostaria de saber a forma recomendada de resolver:

Tenho pontos de parceiros, para ilustrar vamos usar apenas 1 e chama-lo de P1, ele tem um raio de 20KM. Quando um cliente usa o app eu preciso saber se ele esta dentro de uma área de algum parceiro. Da forma que eu fiz baseado no conhecimento que consegui absorver durante o curso, eu faço uma busca de proximidade baseado no ponto do cliente e coloco um valor que antes fazia sentido 8KM por exemplo, como agora tenho parceiros com áreas de atendimentos muito amplas isso não faz mais sentido, eu teria que colocar sei lá 50KM na busca e verificar se estes parceiros que foram retornados atendem a distancia que eu estou dele, gostaria de saber uma forma mais eficiente de fazer isso, sem ter que primeiro trazer todos de um raio gigante e depois verificar se a distancia de raio que ele atende é < que a minha distancia até ele.

Resumindo, preciso saber se um ponto esta dentro do "circulo" de outro ponto que eu não conheço digamos assim.

Desde já obrigado.

1 resposta

Oi Mauricio, tudo bem? Não sei se entendi bem, mas gostaria de dar um passo atrás na sua pergunta. Por que você precisa verificar isso dessa forma? Cada parceiro tem um alcance de atendimento diferente, é isso? Por isso você amplia a distância na query de forma a trazer uma boa parte dos parceiros, para depois filtrar os que estão mais próximos? É isso?