Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

React Native integrado com mapas

Bom dia!

Estou desenvolvendo um projeto de otimização de rotas e preciso receber distâncias entre dois pontos para realizar os cálculos. Porém, preciso conseguir achar através de endereços e não latitude e longitude. Alguém tem uma dica de qual caminho devo seguir?

Obrigado!

1 resposta
solução!

Olá Vinícius! Tudo bem?

Desculpe a demora em retornar.

Fico feliz em poder te ajudar com o desenvolvimento do seu projeto de otimização de rotas utilizando React Native integrado com mapas.

Para conseguir a distância entre dois pontos utilizando endereços em vez de latitude e longitude, você pode utilizar a API de Geocodificação reversa. Essa API permite que você converta um endereço em coordenadas geográficas (latitude e longitude) e vice-versa.

Uma opção é utilizar a API do Google Maps, que possui um serviço de Geocodificação reversa bastante completo. Você pode fazer uma requisição HTTP para a API, passando o endereço desejado, e ela retornará as coordenadas geográficas correspondentes.

Aqui está um exemplo de como fazer essa requisição utilizando o pacote axios no React Native:

import axios from 'axios';

const endereco = 'Rua Exemplo, 123, Cidade Exemplo';

axios.get(`https://maps.googleapis.com/maps/api/geocode/json?address=${endereco}&key=SUA_CHAVE_DE_API`)
  .then(response => {
    const { lat, lng } = response.data.results[0].geometry.location;
    console.log(`Latitude: ${lat}`);
    console.log(`Longitude: ${lng}`);
  })
  .catch(error => {
    console.log(error);
  });

Lembre-se de substituir "SUA_CHAVE_DE_API" pela sua chave de API do Google Maps. Para obter uma chave de API, você precisa criar um projeto no Console de APIs do Google.

Com as coordenadas geográficas em mãos, você pode utilizar uma biblioteca de cálculo de distância, como o Haversine, para calcular a distância entre dois pontos.

Espero que essa dica te ajude a seguir o caminho certo no desenvolvimento do seu projeto.

Um abraço e bons estudos.