【发布时间】:2013-02-28 13:12:26
【问题描述】:
我的数据库中记录了与客户对应的任何地址。
我遇到的麻烦是关于包含 googlemap。
我有以下代码可以将地址转换为极坐标。
function getCoordonnees($adresse) {
$url = "http://maps.google.com/maps/geo?q=" . urlencode($adresse) .
"&output=csv";
$csv = file($url);
$donnees = preg_split("#,#", $csv[0]);
return $donnees[2] . "," . $donnees[3];
}
下面的代码返回给我类似的东西
48.9381235,2.1329083
当我使用谷歌地图时,我有一张这样的照片:
来自这个网址(由我的函数生成
http://maps.google.com/staticmap?center=48.9381235,2.1329083&zoom=15&size=300x300&maptype=mobile&markers=48.9381235,2.1329083,red&key=***********************KEY*GOOGLEMAP************&sensor=false
当我尝试在我的网站中显示该图片时,出现错误,
<img src="http://maps.google.com/staticmap?center=<?php echo $polar; ?>&zoom=15&size=300x300&maptype=mobile&markers=<?php echo $polar; ?>,red&key=***********************KEY*GOOGLEMAP************&sensor=false" style="border:double 2px" />
$polar 是两极。
在我的网站中包含此代码会给我带来以下错误:
Failed to load resource: the server responded with a status of 403 (Forbidden)
我不知道这个错误是从哪里来的。其实我不认为它来自谷歌地图,因为在stackoverflow上,图片是显示的。
所以我想问是否有人知道这个错误会在哪里出现?是来自服务器配置还是其他?我一直在寻找这个问题,因为没有答案。
我们将不胜感激。
【问题讨论】:
-
您的代码看起来不错(仅在本地 html 上使用 img 标记进行测试,将 替换为上面的坐标。您能保证 $polar 准确地返回预期的内容吗? ? 显示错误时,您可能可以在 html 页面的“view-source”上检查。
-
感谢您的快速回复,我确信 100% 的极地确实返回了预期的值。为了证明我能够在stackoverflow上显示图片。我猜有一些服务器配置错误,或者缓存有问题,但我不知道出了什么问题。我已经完成了 var_dumpt($polar),它返回的正是预期的结果
-
Stanislas,如果我能给你一个建议,请隐藏你的谷歌地图键以避免任何问题。我们不知道是否有人会接受它并做错什么。
-
好的,谢谢,我忘记了,我现在就做
-
在 stackoverflow 上,您手动放置了图像标签(而不是来自您的 php 脚本 - 我想)。所以你的 $polar 变量没有被应用在那里。我唯一能想到的是,如果 img 标签构造良好,并且代码中唯一不可预测的是 echo $polar;,我会进一步调查。另外,我不测试这段代码是什么: $csv = file($url); $donnees = preg_split("#,#", $csv[0]);实际上确实如此,所以...如果您可以查看 ouptut HTML 源代码,您可以真正确认 img 标签生成良好
标签: php google-maps http-status-code-403 failed-to-load-viewstate