Foros del Web » Programando para Internet » PHP »

problema con json-php

Estas en el tema de problema con json-php en el foro de PHP en Foros del Web. hola hace un tiempo me funcionaba perfecto este codigo y no entiendo lo que paso. codigo: <?php $calle="Hermanos Amunategui"; //$Container->calle->GetValue(true); $numero="980"; //$Container->numero->GetValue(true); $comuna="santiago"; $address =$calle." ...
  #1 (permalink)  
Antiguo 10/11/2016, 18:43
Avatar de mveraa  
Fecha de Ingreso: diciembre-2002
Ubicación: santiago-chilito
Mensajes: 1.931
Antigüedad: 21 años, 10 meses
Puntos: 2
problema con json-php

hola hace un tiempo me funcionaba perfecto este codigo y no entiendo lo que paso.

codigo:
<?php

$calle="Hermanos Amunategui"; //$Container->calle->GetValue(true);
$numero="980"; //$Container->numero->GetValue(true);
$comuna="santiago";
$address =$calle." ".$numero.", $comuna".",chile"; // 'santo domingo 916,santiago,chile';
echo $address."<br>";


$direccion="http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false&region=$region" ;
echo "<br>".$direccion;



$address = str_replace(" ", "+", $address);
$json = file_get_contents("http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false&region=$region" );
$json = json_decode($json);
$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$lo = $json->{'results'}[1]->{'geometry'}->{'location'}->{'lng'};
echo $lat;
echo "<br>**$lo";

?>


Los echos salen en blanco.

pero si llamo directo :
http://maps.google.com/maps/api/geoc...dress=Hermanos Amunategui 980, santiago,chile&sensor=false®ion=

Me devuelve un resultado.

{
"results" : [
{
"address_components" : [
{
"long_name" : "980",
"short_name" : "980",
"types" : [ "street_number" ]
},
{
"long_name" : "Hermanos Amunátegui",
"short_name" : "Hermanos Amunátegui",
"types" : [ "route" ]
},
{
"long_name" : "Santiago",
"short_name" : "Santiago",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Santiago",
"short_name" : "Santiago",
"types" : [ "administrative_area_level_3", "political" ]
},
{
"long_name" : "Santiago",
"short_name" : "Santiago",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Región Metropolitana",
"short_name" : "Región Metropolitana",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Chile",
"short_name" : "CL",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Hermanos Amunátegui 980, Santiago, Región Metropolitana, Chile",
"geometry" : {
"location" : {
"lat" : -33.4327897,
"lng" : -70.6575953
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : -33.4314407197085,
"lng" : -70.65624631970849
},
"southwest" : {
"lat" : -33.4341386802915,
"lng" : -70.65894428029149
}
}
},
"place_id" : "ChIJ5WrbnLDFYpYRBv_yyDSe7NY",
"types" : [ "street_address" ]
}
],
"status" : "OK"
}

Espero alguien me pueda orientar.
saludos
__________________
"Cuando se adelanta un oponente, enfréntalo y salúdalo; si intenta retroceder, déjalo seguir su camino"
  #2 (permalink)  
Antiguo 11/11/2016, 14:31
 
Fecha de Ingreso: julio-2015
Ubicación: Enfrente de la computadora
Mensajes: 4
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: problema con json-php

Buen día, tu código funciona correcto, te recomiendo valides las respuestas que recibes de las funciones como file_get_contents() o json_decode(), esto te servirá para localizar cual es el error rápidamente; de primera se me ocurre que ya no tienes permisos o no puedes realizar peticiones a hosts externos. Te anexo tu código con algunas modificaciones para verificar si existe algun error durante el proceso de recuperación de información, por otra parte te comento que en este caso no es necesario que uses las llaves para referirte a las variables de clase.



Código PHP:
<?php

$calle
="Hermanos Amunategui"//$Container->calle->GetValue(true);
$numero="980"//$Container->numero->GetValue(true);
$comuna="santiago";
$address =$calle." ".$numero.", $comuna".",chile"// 'santo domingo 916,santiago,chile';
echo $address."<br>";

$region='';//Esta variable la usas pero no la inicializaste nunca

$gmapsURL="http://maps.google.com/maps/api/geocode/json";
$gmapsParams=array(
    
'address'=>$address,
    
'sensor'=>'false',
    
'region'=>$region
);

try{
    
$direccion="{$gmapsURL}?".http_build_query($gmapsParams);
    echo 
"<br>".$direccion;

    if(
false===@$straddress file_get_contents($direccion)) throw new Exception("Fallo Al Recuperar Datos Direccion, Verifique Conexión de Internet",10);
    
    if(
NULL===$address json_decode($straddress)) throw new Exception("Fallo Al Decodificar Respuesta",10);
    
    
$lat $address->results[0]->geometry->location->lat;
    
$lng $address->results[0]->geometry->location->lng;
    echo 
"<br>Latitud: {$lat}<br>";
    echo 
"Longitud: {$lng}<br>";
}catch(
Exception $e){
    echo 
"ERROR:".$e->getCode()." ".$e->getMessage();
}
?>
  #3 (permalink)  
Antiguo 15/11/2016, 06:45
Avatar de mveraa  
Fecha de Ingreso: diciembre-2002
Ubicación: santiago-chilito
Mensajes: 1.931
Antigüedad: 21 años, 10 meses
Puntos: 2
Respuesta: problema con json-php

Muchas gracias por tu ayuda.


saludos
__________________
"Cuando se adelanta un oponente, enfréntalo y salúdalo; si intenta retroceder, déjalo seguir su camino"

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:53.