Problema con estrazione coordinate da google geocoding

  • Creatore Discussione Creatore Discussione migo80
  • Data di inizio Data di inizio

migo80

Utente Attivo
25 Apr 2013
243
3
18
Salve ho questo script :


PHP:
$indirizzo= $citta.","." ".$provincia.","." ".$region;	
$address=  $indirizzo;
$result=file_get_contents("http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=" . urlencode($address) );
$json = json_decode($result);
 $lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
 $long = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};

ma da un po non mi estrapola più le coordinate qualcuno può aiutarmi a risolvere?
 
Ho risolto in questo modo:
PHP:
 <?php 
//recupero dati da db
.......
$indirizzo= $citta." ".$provincia." ".$region;	
$add= geocode($indirizzo);



      if($add){
         
        $latitude = $add[0];
        $longitude = $add[1];
        $formatted_address = $add[2];

  ?>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>    
    <script type="text/javascript">
        function init_map() {
            var myOptions = {
                zoom: 10,
                center: new google.maps.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>),
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
            marker = new google.maps.Marker({
                map: map,
                position: new google.maps.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>)
            });
            infowindow = new google.maps.InfoWindow({
                content: "<?php echo $titolo; ?>"
            });
            google.maps.event.addListener(marker, "click", function () {
                infowindow.open(map, marker);
            });
            infowindow.open(map, marker);
        }
        google.maps.event.addDomListener(window, 'load', init_map);
    </script>
    <?php
 
    // if unable to geocode the address
    }else{
        echo "No map found.";
    }
	
 
// function to geocode address, it will return false if unable to geocode address
function geocode($address){
 
    // url encode the address
    $address = urlencode($address);
     
    // google map geocode api url
    $url = "http://maps.google.com/maps/api/geocode/json?sensor=false&address={$address}";
 
    // get the json response
    $resp_json = file_get_contents($url);
     
    // decode the json
    $resp = json_decode($resp_json, true);
 
    // response status will be 'OK', if able to geocode given address 
    if($resp['status']='OK'){
 
        // get the important data
        $lati = $resp['results'][0]['geometry']['location']['lat'];
        $longi = $resp['results'][0]['geometry']['location']['lng'];
        $formatted_address = $resp['results'][0]['formatted_address'];
         
        // verify if data is complete
        if($lati && $longi && $formatted_address){
         
            // put the data in the array
            $add= array();            
             
            array_push(
                $add, 
                    $lati, 
                    $longi, 
                    $formatted_address
                );
             
            return $add;
             
        }else{
            return false;
        }
         
    }else{
        return false;
    }
}
?>
 
Ultima modifica:

Discussioni simili