如何用PHP将GPS坐标转换为完整的地址?

时间:2013-05-06 09:05:32

标签: php google-maps-api-3 gps

我有54.1456123 10.413456形式的GPS坐标。

如何使用PHP将它们转换为包含邮政编码,街道和城市的地址?

2 个答案:

答案 0 :(得分:9)

使用谷歌API

$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);

答案 1 :(得分:6)

不需要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);
}