Ir ao conteúdo
  • Cadastre-se

PHP Calcular distancia entre duas cidades


Posts recomendados

Olá, colega.


Confesso que nunca usei esse serviço, mas fiz um teste hoje pela manhã para ver como funciona.


Se a proposta é usar a opção do site abaixo que você nos trouxe:

 

21 horas atrás, xrogerinho disse:

 

Devo lhe informar que apenas o código que você quer não funciona, pois você precisa ter uma API Key do Google Maps Platform pata autenticar.


Como informa a resposta da solicitação abaixo:

 

<DistanceMatrixResponse>
<status>REQUEST_DENIED</status>
<error_message>You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account</error_message>
</DistanceMatrixResponse>

 

Eu fiz o teste com exemplos de código padrão encontrados na web, como este, com esse por exemplo: https://pt.stackoverflow.com/questions/153077/php-calcula-distância-entre-cidades


Mas ele apenas funciona se você tiver criado uma API Key do Google Maps Platform, pelo que pude observar.


Criar é fácil, eu criei uma na conta que eu tenho e funciona bem, mas a criação da conta, mesmo que de forma gratuita, pede a inclusão de um cartão de crédito, como mostrado abaixo:

 

cobranca-min.thumb.jpg.6ceba13908abb76bea22f976f1e9040f.jpg


Comigo funcionou, pois, eu já tenho minha conta de faturamento no Google com o meu devido cartão de crédito cadastrado.


Infelizmente não posso colocar aqui o meu código que funcionou, pois ele tem a minha API Key do Google Maps Platform vinculado ao meu cartão de credito. Você vai precisar criar uma para você.


O seu problema não se resolve apenas com o código, pelo que pude apurar.


Mas como não existem pessoas donas da verdade, aguarde para ver se algum outro colega pode trazer outras opções.


Abraços e boa sorte.

Link para o comentário
Compartilhar em outros sites

@xrogerinho

Pelo que eu observei, até parece se de graça mesmo. E Google me ofereceu um limite gratuito, mas para liberar esse limite gratuito, eles só ativam a conta se você inserir o cartão de credito.

 

Eu acho que eles fazem isso, para começar a cobrar das pessoas no cartão assim que o limite gratuito acabe.

 

Mas vamos  ver se alguém aqui tem outra solução.

 

Abraços.

Link para o comentário
Compartilhar em outros sites

15 minutos atrás, xrogerinho disse:

então basicamente a chamada do servico é atraves da linha

 

Exato, é através da linha.


Essa linha abaixo devolve uma variável que deve ser tratada no PHP.

 

$url = "http://maps.googleapis.com/maps/api/distancematrix/json?origins=$origin&destinations=$destino&mode=driving&language=en-EN&sensor=false";

 

Como mostra o código abaixo do stackoverflow que eu coloquei acima no link, e que eu usei como base para criar o meu código.

 

$i = 0;
$arr = array('90450000','95180000');

foreach ($arr as &$valuedestino) {


    $origin = '95700000';
    $destino = $valuedestino;



    $url = "http://maps.googleapis.com/maps/api/distancematrix/json?origins=$origin&destinations=$destino&mode=driving&language=en-EN&sensor=false";

    $data = @file_get_contents($url);

    $result = json_decode($data, true);

    foreach($result['rows'] as $distance) {
        $i++;
        echo '<br>';
        echo "$i - Distance from you: " . $distance['elements'][0]['distance']['text'] . ' (' . $distance['elements'][0]['duration']['text'] . ' in current traffic)';
    }
}

 

Esse código do stackoverflow acima, funciona perfeitamente comigo, você pode até usá-lo, mas no final da linha, você terá que colocar a sua API Key do Google Maps Platform, como está abaixo:

 

$url = "http://maps.googleapis.com/maps/api/distancematrix/json?origins=$origin&destinations=$destino&mode=driving&language=en-EN&sensor=false&key=SUA API KEY";


E se você não inserir a sua API KEY, essa linha retorna o seguinte erro:

 

<DistanceMatrixResponse>
<status>REQUEST_DENIED</status>
<error_message>You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account</error_message>
</DistanceMatrixResponse>

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!