从 PHP 中的谷歌地图地理位置 API 获取响应,输出以 JSON 格式



我一直在到处寻找答案,但没有找到。我正在使用谷歌地图地理位置 api 来显示来自纬度,龙的地址。我只需要显示选择性数据,例如:">formatted_address">来自数组。这是我尝试在 PHP 中显示响应的代码:

$file_contents = file_get_contents("http://maps.googleapis.com/maps/api/geocode/json?latlng=31.334097,74.235875&sensor=false", true);
$data = json_decode($file_contents, true);
foreach($data as $output => $var) {
echo $var;
}

这是响应:[https://maps.googleapis.com/maps/api/geocode/json?latlng=31.334097,74.235875]

这是我得到的输出:

注意:数组到字符串的转换在C:\xampp\htdocs\bikewala\myaccount\index.php176
ArrayOK 行

当我尝试使用以下代码访问数组的任何组件时:

$file_contents = file_get_contents("http://maps.googleapis.com/maps/api/geocode/json?latlng=31.334097,74.235875&sensor=false", true);
$data = json_decode($file_contents, true);
foreach($data as $output => $var) {
echo $var['formatted_address'];
}

我收到此错误:

注意:未定义的索引formatted_address:在 C:\xampp\htdocs\bikewala\myaccount\index.php第 176 行

警告C:\xampp\htdocs\bikewala\myaccount\index.php176行中的非法字符串偏移量 'formatted_address'
O

我在这里做错了什么?

提前感谢!

而不是echo(在你的第一个代码部分(使用print_r($var(

$file_contents = 
file_get_contents("http://maps.googleapis.com/maps/api/geocode/json?
latlng=31.334097,74.235875&sensor=false", true);
$data = json_decode($file_contents, true);
foreach($data as $output => $var) {
print_r($var);
}

这将允许您看到所需值的路径

您可以使用此代码访问所需的确切值

$file_contents = file_get_contents("http://maps.googleapis.com/maps/api/geocode/json?
latlng=31.334097,74.235875&sensor=false", true);
$data = json_decode($file_contents, true);
$formatted_address = $data['results']['0']['formatted_address'];
echo $formatted_address;

相关内容

  • 没有找到相关文章

最新更新