Ampliar/reduzir mapas nativos de reação com base no raio em km/milhas

Aug 18 2020

Eu tenho um requisito em meu aplicativo react-native em que, se o usuário fornecer um número que será o número de quilômetros ou milhas (como 5 ou 10), o mapa deve aumentar/diminuir o zoom mostrando a área com raio como a entrada número.

Como posso alterar os valores latitudeDelta e longitudeDelta com base nesses números de entrada.

Por favor, me ajude. Desde já, obrigado.

Respostas

MuhammadJunaid Aug 18 2020 at 17:11

latitudeDelta é a quantidade de graus que são visíveis na tela. Aproximadamente 111,045 KM é sempre igual a 1 grau, então você pode calcular a latitudeDelta da área atualmente visível em KM com este

latitudeDelta = diâmetro (UserEntered) / 111,045

Isso pressupõe que a tela esteja no modo retrato e, portanto, latitudeDelta é o maior valor. Caso contrário, use longitudeDelta.

para atualizar o mapa, você pode definir variáveis ​​de estado para longitudeDelta e latitudeDelta e, quando o usuário inserir o valor, você pode fazer o cálculo a partir da fórmula acima e atualizar essas variáveis ​​de estado e o mapa eventualmente também será atualizado.