Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com API google maps em PHP


RaptorX

Pergunta

Pessoal,

Já tem uns dias que estou tentando fazer o código abaixo funcionar sem sucesso. Se alguém puder ajudar?

<?php
error_reporting(E_ALL);
$address = 'Av. Brasil, 1088 São Paulo SP';

$maps_json = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address=?'.utf8_encode($address).'&sensor=false');
$maps_array = json_decode($maps_json);

$lat = $maps_array['results'][0]['geometry']['location']['lat'];
$lng = $maps_array['results'][0]['geometry']['location']['lng'];

echo $lat+$lng
?>  

O erro resultante é:

Warning: file_get_contents(http://maps.googleapis.com/maps/api/geocode/json?address=?Av. Brasil, 1088 São Paulo SP&sensor=false) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /var/www/html/intranet/temp/novo.php on line 7
0

O engraçado é que se eu colar o link direto no navegador, tenho o retorno normalmente:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "1088",
               "short_name" : "1088",
               "types" : [ "street_number" ]
            },
            {
               "long_name" : "Rua Barra Funda",
               "short_name" : "R. Barra Funda",
               "types" : [ "route" ]
           . . . .

Obrigado por qualquer ajuda!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Existem duas alterações que deve fazer. A primeira é substituir "utf8_encode" por "urlencode" e a segunda é adicionar true ao json_encode.

error_reporting(E_ALL);
$address = 'Av. Brasil, 1088 São Paulo SP';

$url = 'http://maps.googleapis.com/maps/api/geocode/json?address=?'.urlencode($address).'&sensor=false';

$maps_json = file_get_contents( $url );

$maps_array = json_decode($maps_json, true);

$lat = $maps_array['results'][0]['geometry']['location']['lat'];
$lng = $maps_array['results'][0]['geometry']['location']['lng'];

echo $lat+$lng;

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152.1k
    • Posts
      651.8k
×
×
  • Criar Novo...