【发布时间】:2019-04-08 13:55:13
【问题描述】:
我正在尝试从经度和纬度获取谷歌地址。我试过了,但是不行
<?php
$sql_query = "SELECT * FROM `user_History` where uid = '$id'";
$stmt = $dbh->query($sql_query);
$i = 1;
while($row = $stmt->fetch( PDO::FETCH_ASSOC))
{
extract($row);
?>
<td><?php echo getaddress($row['lat'],$row['lon']); ?></td>
<?php } ?>
我的功能是:
<?php
function getaddress($lat,$lng)
{
$url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.trim($lat).','.trim($lng).'&sensor=false';
$json = @file_get_contents($url);
$data=json_decode($json);
$status = $data->status;
if($status=="OK")
{
return $data->results[0]->formatted_address;
}
else
{
return "no";
}
}
?>
我的 google map api 密钥在这里:
<script src="http://maps.googleapis.com/maps/api/js?key=mykey1776135765176371&callback=initMap" type="text/javascript"></script>
它不工作。返回否
【问题讨论】:
-
你应该只反转一次地理编码并存储结果
-
但我需要的不仅仅是数据库的结果
-
这有什么不同?多次反向地理编码没有意义
-
插入时获取地址并存储。
-
“它不工作” - 那么到目前为止你做了什么来调试这个?您是否删除了
@以查看尝试对该 URL 发出 HTTP 请求是否遇到任何一般问题?您是否对认为之后应该包含 JSON 的变量进行了调试输出?您是否检查过尝试解码此 JSON 可能引发的错误?为什么所有这些事情还没有发生?
标签: javascript php google-maps google-maps-api-3