将捕获的 GPS 坐标转换为 PHP 中的地址
Converting GPS coordinates captured to address in PHP
我想将从我的 google 地图捕获的实时坐标更改为地址。
我试过以下代码:
<?php
$lat="9.102097";
$long="-40.187988";
geo2address($lat,$long);
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);
print_r($address);
}
?>
P.S。我正在使用固定坐标进行测试,但会在我成功时从我的应用程序中捕获坐标
我引用了 How to convert GPS coordinates to a full address with php? 中的代码,但它不起作用。
$url
本身存在一些问题,例如:
- 您在 URL 中使用
http
,而您应该使用 https
。
- 您没有在 URL 中使用
key
参数。注册一个 API KEY 并在 URL. 中使用它
这是一个这样的例子 URL:
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY`
这是反向地理编码的文档:
所以你的代码应该是这样的:
$lat="40.714224";
$long="-73.961452";
geo2address($lat,$long);
function geo2address($lat,$long) {
$url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=$lat,$long&key=YOUR_API_KEY";
$json = json_decode(file_get_contents($url), true);
$a = $json['results'][0]['formatted_address'];
print_r(explode(",",$a));
}
这里需要注意的几点是:
- 纬度和经度取自文档本身。
- 在
json_decode()
函数中将第二个参数作为true
传递,将其转换为关联数组。这样您就可以轻松访问各个组件。
我想将从我的 google 地图捕获的实时坐标更改为地址。
我试过以下代码:
<?php
$lat="9.102097";
$long="-40.187988";
geo2address($lat,$long);
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);
print_r($address);
}
?>
P.S。我正在使用固定坐标进行测试,但会在我成功时从我的应用程序中捕获坐标
我引用了 How to convert GPS coordinates to a full address with php? 中的代码,但它不起作用。
$url
本身存在一些问题,例如:
- 您在 URL 中使用
http
,而您应该使用https
。 - 您没有在 URL 中使用
key
参数。注册一个 API KEY 并在 URL. 中使用它
这是一个这样的例子 URL:
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY`
这是反向地理编码的文档:
所以你的代码应该是这样的:
$lat="40.714224";
$long="-73.961452";
geo2address($lat,$long);
function geo2address($lat,$long) {
$url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=$lat,$long&key=YOUR_API_KEY";
$json = json_decode(file_get_contents($url), true);
$a = $json['results'][0]['formatted_address'];
print_r(explode(",",$a));
}
这里需要注意的几点是:
- 纬度和经度取自文档本身。
- 在
json_decode()
函数中将第二个参数作为true
传递,将其转换为关联数组。这样您就可以轻松访问各个组件。