2014-04-22 12 views
12

ich die zur automatischen Vervollständigung von geocode verwendet haben, aber wenn ich aus dem Drop bin der Auswahl nach unten es mir die lat und lange der AdressePHP - Holen Sie Breite und Länge von einer Adresse

Ich brauche Raum gibt, zu überprüfen, wenn die lat und lange leer sind dann von den entsandten Adresse muss ich die Breite erhalten und Länge

+0

Was Sie immer bedrückt? Welchen Teil brauchst du genau? (Siehe auch [Fragen] nach Tipps, um bessere Fragen zu stellen) –

Antwort

26

nehme an, Sie Wert für lat versteckt haben und lang ist mapLat & mapLong und Eingabefeld Name ist Standort dann können Sie prüfen, wie unten

<html> 
<form> 
<input type="hidden" name="mapLat"> 
<input type="hidden" name="mapLong"> 
<input type="text" name="location"> 
<input type="submit" name="submit" value="submit"> 
</form> 
</html> 



extact($_POST); 
if($mapLat =='' && $mapLong ==''){ 
     // Get lat long from google 
     $latlong = get_lat_long($location); // create a function with the name "get_lat_long" given as below 
     $map  = explode(',' ,$latlong); 
     $mapLat   = $map[0]; 
     $mapLong = $map[1];  
} 


// function to get the address 
function get_lat_long($address){ 

    $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'}; 
    $long = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'}; 
    return $lat.','.$long; 
} 
+0

hi, ich möchte fragen, ob ich diesen Code in PHP verwende, ohne einen API-Schlüssel zu bekommen, ist das ok? – Will

+0

Nein, es wird nicht funktionieren. Sie müssen API verwenden, um das Ergebnis zu erhalten – sandipshirsale

+0

Danke dafür! Gesucht mehr als eine Stunde für Arbeitscode. Das funktioniert für mich perfekt. – Harsha

3

Diese versuchen, die Adresse

<? 
 
function getaddress($lat,$lng) 
 
{ 
 
$url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.trim($lat).','.trim($lng).'&sensor=false'; 
 
$json = @file_get_contents($url); 
 
$data=json_decode($json); 
 
$status = $data->status; 
 
if($status=="OK") 
 
return $data->results[0]->formatted_address; 
 
else 
 
return false; 
 
} 
 

 

 
$lat= 26.754347; //latitude 
 
$lng= 81.001640; //longitude 
 
$address= getaddress($lat,$lng); 
 
if($address) 
 
{ 
 
echo $address; 
 
} 
 
else 
 
{ 
 
echo "Not found"; 
 
} 
 

 
?>

+0

macht das genaue Gegenteil. – Gogol

2
// We define our address 
$address = 'Indore, MP 452001'; 
echo"<PRE>"; 
print_r(get_lat_long($address)); 

// function to get the address 
function get_lat_long($address) { 
    $array = array(); 
    $geo = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($address).'&sensor=false'); 

    // We convert the JSON to an array 
    $geo = json_decode($geo, true); 

    // If everything is cool 
    if ($geo['status'] = 'OK') { 
     $latitude = $geo['results'][0]['geometry']['location']['lat']; 
     $longitude = $geo['results'][0]['geometry']['location']['lng']; 
     $array = array('lat'=> $latitude ,'lng'=>$longitude); 
    } 

    return $array; 
} 
2

MitCURL

<?php 
$address = "Kathmandu, Nepal"; 
$url = "http://maps.google.com/maps/api/geocode/json?address=".urlencode($address); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
$responseJson = curl_exec($ch); 
curl_close($ch); 

$response = json_decode($responseJson); 

if ($response->status == 'OK') { 
    $latitude = $response->results[0]->geometry->location->lat; 
    $longitude = $response->results[0]->geometry->location->lng; 

    echo 'Latitude: ' . $latitude; 
    echo '<br />'; 
    echo 'Longitude: ' . $longitude; 
} else { 
    echo $response->status; 
    var_dump($response); 
}  
?>