【发布时间】:2016-11-11 07:15:30
【问题描述】:
我创建了一个代码来获取用户的经度和纬度,这些变量存储在 mysql 数据库中。
我正在使用下面的代码来获取经度和纬度的地址。
在 stackoverflow 中搜索后,我找到了这个脚本,但它没有给我任何错误,也没有结果。
我尝试打印变量 $geolocation,我打印的结果像这样 33.8943186,35.505271199999996 但我没有完整的地址:(
任何人都可以帮我解决我的问题并获得用户的确切地址吗??!!
$geolocation = $latitude.','.$longitude;
$request ='http://maps.googleapis.com/maps/api/geocode/json?latlng='.$geolocation.'';
$file_contents = file_get_contents($request);
$json_decode = json_decode($file_contents);
if(isset($json_decode->results[0])) {
$response = array();
foreach($json_decode->results[0]->address_components as $addressComponet) {
if(in_array('political', $addressComponet->types)) {
$response[] = $addressComponet->long_name;
print_r($response); // no error
}
}
if(isset($response[0])){ $first = $response[0]; } else { $first = 'null'; }
if(isset($response[1])){ $second = $response[1]; } else { $second = 'null'; }
if(isset($response[2])){ $third = $response[2]; } else { $third = 'null'; }
if(isset($response[3])){ $fourth = $response[3]; } else { $fourth = 'null'; }
if(isset($response[4])){ $fifth = $response[4]; } else { $fifth = 'null'; }
if( $first != 'null' && $second != 'null' && $third != 'null' && $fourth != 'null' && $fifth != 'null' ) {
echo "<br/>Address:: ".$first;
echo "<br/>City:: ".$second;
echo "<br/>State:: ".$fourth;
echo "<br/>Country:: ".$fifth;
print_r($response);// No error
}
else if ( $first != 'null' && $second != 'null' && $third != 'null' && $fourth != 'null' && $fifth == 'null' ) {
echo "<br/>Address:: ".$first;
echo "<br/>City:: ".$second;
echo "<br/>State:: ".$third;
echo "<br/>Country:: ".$fourth;
}
else if ( $first != 'null' && $second != 'null' && $third != 'null' && $fourth == 'null' && $fifth == 'null' ) {
echo "<br/>City:: ".$first;
echo "<br/>State:: ".$second;
echo "<br/>Country:: ".$third;
}
else if ( $first != 'null' && $second != 'null' && $third == 'null' && $fourth == 'null' && $fifth == 'null' ) {
echo "<br/>State:: ".$first;
echo "<br/>Country:: ".$second;
}
else if ( $first != 'null' && $second == 'null' && $third == 'null' && $fourth == 'null' && $fifth == 'null' ) {
echo "<br/>Country:: ".$first;
}
}
print_r($response);// error
【问题讨论】:
-
你的问题是什么?
-
@Blueblazer172 我想从存储在我的数据库中的经度和纬度获取地址
-
这是一个声明:P
-
@Blueblazer172 你是什么意思?!
-
您的代码在我的机器上运行良好...
标签: php google-maps