OFF - Distância entre dois pontos, google maps

1,228 views
Skip to first unread message

Leo Baiano

unread,
Oct 24, 2011, 3:03:28 PM10/24/11
to list...@googlegroups.com
Pessoal, alguém aqui já precisou pegar a distância, em km, entre dois pontos com base na latitude e longitude destes? Eu usei o exemplo do google que já retorna o mapa com a rota traçada e o "como chegar" em formato de texto, no box do como chegar ele informa a distância, o problema é que só preciso da distância entre os pontos, e com o exemplo que encontrei na API ele não retorna os dados separados, você chama uma função js do google maps e informa o id de uma div e ele carrega todas as informações nesta div, o que não me serve.

Guilherme Augusto Henschel

unread,
Oct 24, 2011, 3:12:49 PM10/24/11
to list...@googlegroups.com
http://www.devshed.com/c/a/PHP/Parsing-Google-Maps-API-using-PHP-and-JSON-2348127/

Att,
Guilherme Augusto.

2011/10/24 Leo Baiano <ljuni...@gmail.com>
--
============================================================
LEIAM SEMPRE AS REGRAS DA LISTA:
http://groups.google.com.br/group/listaphp/web/regras-da-lista-php
--
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================

Leo Baiano

unread,
Oct 24, 2011, 3:52:24 PM10/24/11
to list...@googlegroups.com
Guilherme, muito obrigado pela dica, o problema agora é que o json esta retornando o erro OVER_QUERY_LIMIT, li que o limite são 2500 requisições por dia, dificilmente ultrapassamos esse número, até porque são apenas 4 por página e estamos no ambiente de desenvolvimento, ou seja, poucos acessos. Estou pesquisando sobre o assunto, se alguém puder ajudar.

Mauro Marchiori Neto

unread,
Oct 24, 2011, 4:09:05 PM10/24/11
to list...@googlegroups.com
Leo, Veja se isto te serve:


De qualquer forma, evite fazer consultar a todo o momento ao Google para buscar latitude/longitude, implemente um cache, consulte se ja existe a informação, no banco de dados por exemplo, antes de realizar o Geocode no Google.

MMN


2011/10/24 Leo Baiano <ljuni...@gmail.com>

Leo Baiano

unread,
Oct 24, 2011, 4:36:07 PM10/24/11
to list...@googlegroups.com
Pessoal, consegui montar um array com os dados, mas estou com dificuldades para mapear e imprimir o 'value', acho que o caminho que estou tentando seguir esta incorreto, se alguém puder ajudar.

O que eu quero pegar é o valor do primeiro nó  "VALUE", estou tentando assim:

echo $dadosKM[0]['routes']['legs'][0]['distance']['value'];

O endereço com o array completo é:

Leo Baiano

unread,
Oct 24, 2011, 4:45:05 PM10/24/11
to list...@googlegroups.com
Consegui pegar assim: $dadosKM['routes'][0]['legs'][0]['distance']['text'];

Mauro Marchiori Neto

unread,
Oct 24, 2011, 5:08:22 PM10/24/11
to list...@googlegroups.com
Mas você quer pegar a distancia em linha reta ou por uma rota? não é bem a mesma coisa.

Leo Baiano

unread,
Oct 24, 2011, 5:11:04 PM10/24/11
to list...@googlegroups.com
O google maps trás a distância por uma rota.

Mauro Marchiori Neto

unread,
Oct 24, 2011, 6:36:40 PM10/24/11
to list...@googlegroups.com
Sim sim, nesse caso é através e uma rota, tinha entendido que precisava de distancia ponto-a-ponto em linha reta.



2011/10/24 Leo Baiano <ljuni...@gmail.com>

Guilherme Augusto Henschel

unread,
Oct 24, 2011, 5:13:22 PM10/24/11
to list...@googlegroups.com
Sim, Léo, mas o que o Mauro quis saber é se você quer a distância da rota ou entre os pontos em linha reta, pois a forma de calcular é diferente.

--
Guilherme Augusto [Cenoura]


2011/10/24 Leo Baiano <ljuni...@gmail.com>

Leo Baiano

unread,
Oct 25, 2011, 8:52:46 AM10/25/11
to list...@googlegroups.com
Eu entendi a pergunta do Mauro, o que eu quis dizer é que estou usando a api do google para calcular a distância e com ela acredito que só é possível pegar a distância pela rota.

Ulisses Flores

unread,
Oct 25, 2011, 9:43:51 AM10/25/11
to list...@googlegroups.com
Eu usei um método onde escrevo o endereço num text_box, e obtenho o retorno, por bairro, cidade, estado, pais, latitude, longitude, eu passo as instruções via URL e tenho o retorno via xml, faço o tratamento do retorno e gravo no meu bd para futuro acesso.

O que você precisa é o "Como Chegar" de um ponto a outro, para traçar uma rota, 


veja um exemplo que montei:

<?php
$xml = file_get_contents($request);

echo $xml;

?>

Você terá todas as informações no XML, assim é só tratar este retorno para obter a informação que precisa.

veja:  
<duration>
<value>
1711
</value>
<text>29 minutos</text>
</duration>

       <distance> <value> 21884 </value> <text> 21,9km </text> </distance>

Eu não sei se existe uma maneira mais simples de fazer, porém, foi a solução plausível que tive, pois já solucionei algo semelhante. 




Att,

 

 

 

Ulisses Flores 
Baruch Ben Avraham 
לוהים הוא האש מכלה 



--

Leo Baiano

unread,
Oct 25, 2011, 4:46:51 PM10/25/11
to list...@googlegroups.com
Ulisses, quando abri o tópico aqui eu não conhecia essa URL que retorna o XML... valeu a dica, estou fazendo algo parecido com o que você explicou!
Reply all
Reply to author
Forward
0 new messages