Página 1 de 1
Alternativa ao GoogleMaps para distância entre 2 pontos
Enviado: 05 Jun 2020 10:59
por ANDRIL
A api do Google passou a ser paga. Antes usava ela para obter a distância entre 2 locais através do endereço. As que achei precisam da latitude e longitude para buscarem o resultado.
Usava assim:
Código: Selecionar todos
url = [http://maps.googleapis.com/maps/api/distancematrix/xml?origins=']+endloja+['|&destinations=']+endcliente+"'|&mode='CAR'|&language='PT'|&sensor='FALSE'"
Alguém usando outra api que localize pelo endereço e que seja gratuita e menos burocratica que a do Google?
Alternativa ao GoogleMaps para distância entre 2 pontos
Enviado: 05 Jun 2020 12:21
por JoséQuintas
Tenho anotado isto, mas nunca usei:
Código: Selecionar todos
/*
DLA = diferença de latitude
DLO = diferença de longitude
maximo 180 graus
a medida varia em 60, igual horas, graus 60 unidades, minutos 1 unidade, segundos 1/60
23,30,36
23 X 60
30 X 1
36 X 1/60
multiplica no final por 1.852, que é o fator de conversão de milha náutica para quilômetros
pra considerar curvatura da terra:
x = 60 * ( ( ACos( Sen( Lat1 * PI / 180 ) * Sen( Lat2 * PI / 180 ) +
Cos( Lat1 * PI / 180 ) * Cos( Lat2 * PI / 180 ) * Cos( Abs( ( Long2 - long1 ) ) * PI / 180 ) ) ) * 180 / PI )
E multiplica o resultado por 1.852
mas trabalhar em graus: g + m / 60 + s / 3600
p1 := { 1, 1, 1 }
p2 := { 1, 1, 1 }
L1 := p1[ 1 ] + p1[ 2 ] / 60 + p1[ 3 ] / 3600
L2 := p2[ 1 ] + p2[ 2 ] / 60 + p2[ 3 ] / 3600
PI := 3.1415926535979323846
nMN := 60 * ( ( Acos( Sen( L1 * PI / 180 ) * Sen( L2 * PI / 180 ) + ;
Cos( L1 * PI / 180 ) * Cos( L2 * PI / 180 ) * Cos( Abs( ( L2 - L1 ) ) * PI / 180 ) ) ) * 180 / PI )
nKm := nMN * 1.852
*/
seria um cálculo a partir de latitude e longitude, pra calcular distância em linha reta.
Alternativa ao GoogleMaps para distância entre 2 pontos
Enviado: 06 Jun 2020 01:47
por alxsts
Olá!
O ideal é ter, nos cadastros de endereços, colunas para armazenar a latitude e longitude.
Calcular as distâncias até que não é difícil. O exemplo postado acima está mais detalhado no artigo
Calculando distancias com base em coordenadas de gps/.
Difícil é substituir os recursos que a API do Google oferece, como mostrar pontos no mapa.
Alternativa ao GoogleMaps para distância entre 2 pontos
Enviado: 06 Jun 2020 10:40
por ANDRIL
José, não é bem o cálculo que preciso, mas um serviço que através do endereço do ponto A e B me de a distância sem saber a Latitude e Longitude. Isto é possível através da API do Google. Procuro um serviço alternativo, que aceite passar o endereço e não o LATI e LONG. As que tenho visto funcionam com estes parâmetros apenas.
alxsts escreveu:Difícil é substituir os recursos que a API do Google oferece, como mostrar pontos no mapa.
No meu caso, só preciso obter a distância para cálculo do frete.
Alternativa ao GoogleMaps para distância entre 2 pontos
Enviado: 06 Jun 2020 14:45
por alxsts
Olá!
Encontrei isso na internet:
Mapacep
É uma base de dados onde se pode localizar a latlong de casa endereço. Depois é só calcular. Barato: de 180 por 150 reais. Atualização gratuita.
O problema é que está fórmula só calcula a distância em linha reta e não serve para calcular distâncias rodoviárias...
Alternativa ao GoogleMaps para distância entre 2 pontos
Enviado: 07 Jun 2020 19:47
por sygecom
Você pode usar OpenStreet map, vai precisar hospedar um link de consulta, mas não muito complicado.
https://www.openstreetmap.org/