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

rub*_*o77 4 php gps google-maps-api-3

我在表格中有GPS坐标54.1456123 10.413456.

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

小智 10

使用谷歌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);
Run Code Online (Sandbox Code Playgroud)


rub*_*o77 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);
}
Run Code Online (Sandbox Code Playgroud)