Trovare comune da coordinate

Pubblicità

simone_asr

Nuovo Utente
Messaggi
46
Reazioni
2
Punteggio
26
C'è un modo per trovare un comune partendo dalle coordinate?
Va bene anche una funzione in php o in altri linguaggi per web.
In pratica prendendo le coordinate, es: 42,12, la funzione deve dirmi che comune c'è in quel punto, es: Roma.
Sapreste aiutarmi?
 
Al momento non posso scriverti tutto perché sono dal cellulare comunque cerca su Google json_decode. In caso non ci riesci sono qui
Grazie... Provo a vedere qualcosa da solo, se non ci riesco, riscrivo qui.
In ogni caso vi farò sapere se ci sono riuscito o meno.

EDIT: Per ora credo di aver capito. Se avrò altre difficoltà, scriverò sempre qui.
 
Ultima modifica:
Ho un problema.. Come ricavo le coordinate automaticamente e le passo in php?
Dovrei fare che, se per esempio sto a Roma, il programma vede che sto a Roma e mi stampa: "Piazza del Popolo - Roma"

In pratica questo è il codice js:
Codice:
<!DOCTYPE html>
<html>
<head>
<title>HTML5 Geolocation</title>
<script src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(mostra_mappa);
}else{
  alert('La geo-localizzazione NON è possibile');
}


function mostra_mappa(posizione) {
  // identifico il punto in cui è stato individuato l'utente
  var punto = new google.maps.LatLng(posizione.coords.latitude, posizione.coords.longitude),
  // definisco una serie di opzioni          
  opzioni = {
    zoom: 15,
    center: punto,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  },
  // definisco l'elemento della pagina che ospiterà la mappa
  contenitore = document.getElementById("mia_mappa"),
  // creo la mappa
  mappa = new google.maps.Map(contenitore, opzioni),
  // imposto un marker
  marker = new google.maps.Marker({
    position: punto,
    map: mappa,
    title: "Tu sei qui!"
  });
}
</script>
<style type="text/css">
div#mia_mappa {
  width: 500px;
  height: 300px;
  margin: 10px auto;
}
</style>
</head>


<body>
<div id="mia_mappa">Attendere prego...</div>
</body>
</html>

E dovrei passare le coordinate a questa pagina php:
Codice:
<?php


function get_info_GMap_with_coords($latitude, $longitude)
{
    
    $url = "http://maps.googleapis.com/maps/api/geocode/json?latlng={$latitude},{$longitude}&sensor=false";
    
    $response = file_get_contents($url);
    
    $json = json_decode($response, TRUE); //set json response to array based
    
    $address_arr = $json['results'][0]['address_components'];
    
    $address = "";
    
    foreach ($address_arr as $arr1) {
        
        if (strcmp($arr1['types'][0], "street_number") == 0) {
            
            $address .= $arr1['long_name'] . " ";
            
            continue;
            
        }
        
        if (strcmp($arr1['types'][0], "route") == 0) {
            
            $address .= $arr1['long_name'];
            
            continue;
            
        }
        
        if (strcmp($arr1['types'][0], "locality") == 0) {
            
            $city = $arr1['long_name'];
            
            continue;
            
        }
        
        if (strcmp($arr1['types'][0], "administrative_area_level_1") == 0) {
            
            $state = $arr1['long_name'];
            
            continue;
            
        }
        
        if (strcmp($arr1['types'][0], "administrative_area_level_2") == 0) {
            
            $state2 = $arr1['long_name'];
            
            continue;
            
        }
        
        if (strcmp($arr1['types'][0], "postal_code") == 0) {
            
            $zip_code = $arr1['long_name'];
            
            continue;
            
        }
        
        if (strcmp($arr1['types'][0], "country") == 0) {
            
            $country = $arr1['long_name'];
            
            continue;
            
        }
        
    }
    
    if (!(!isset($state) || trim($state) === '')) {
        $response = array(
            "address" => $address,
            "city" => $city,
            "state" => $state,
            "zipcode" => $zip_code,
            "country" => $country
        ); //level_1 administrative data exist
        
    } else {
        
        $response = array(
            "address" => $address,
            "city" => $city,
            "state" => $state2,
            "zipcode" => $zip_code,
            "country" => $country
        ); //level_1 administrative data not exist
        
    }
    
    return $response;
    
}


$lati = '41.900002';
$longi = '12.4833';


print 'Lati: '.$lati;
print '<br />';
print 'Longi: '.$longi;


print '<br />';
print '<br />';
Print 'Address:<br />';


$array = get_info_GMap_with_coords($lati, $longi);


print_r($array);


echo $_SERVER["SERVER_ADDR"];
?>
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top