У меня есть координаты GPS в форме 54.1456123 10.413456
.
Как я могу преобразовать их с PHP в адреса с почтовым индексом, улицей и городом?
использовать API Google
$lat="54.1456123"; $long = "10.413456"; $url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=$lat,$long&sensor=false"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_ENCODING, ""); $curlData = curl_exec($curl); curl_close($curl); $address = json_decode($curlData); print_r($address);
Без curl
и API-ключа необходимо:
function geo2address($lat,$long) { $url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=$lat,$long&sensor=false"; $curlData=file_get_contents( $url); $address = json_decode($curlData); $a=$address->results[0]; return explode(",",$a->formatted_address); }