【发布时间】:2015-01-27 16:17:23
【问题描述】:
我有一个网站,用户可以在其中发布他们的照片,然后添加一个邮政编码,这样您就可以看到这张照片的拍摄地点。我有可以通过插入邮政编码找到纬度和经度的功能:
function googlemaps($postcode){
$search_code = urlencode($postcode);
$url = 'http://maps.googleapis.com/maps/api/geocode/json?address=' . $search_code . '&sensor=true';
$json = json_decode(file_get_contents($url));
$lat = $json->results[0]->geometry->location->lat;
$lng = $json->results[0]->geometry->location->lng;
$url2 = '
<a href="http://maps.google.com/maps?q=' . $lat . ',' . $lng . '" target="blank">
<img src="http://maps.google.com/maps/api/staticmap?size=400x240&zoom=15&maptype=roadmap&sensor=false&markers=icon:|' . $lat . ',' . $lng . '">
</a>
<div class="show"></div>
';
return $url2;
}
现在为了测试,我在 db 中使用不同的邮政编码制作了 10 条记录,但问题是当我输出所有带有位置的记录时,每次一些位置都是空白的,并且在刷新页面后它们会更改为某些原因(我的意思是如果位置 A 第一次是空白的,在重新加载后位置 A 会正常,但位置 B 会变为空白),空白是指他们不输出任何经纬度信息,我的图像如下所示:
这张图片的链接是:
<img src="https://maps.google.com/maps/api/staticmap?size=400x240&zoom=15&maptype=roadmap&sensor=false&markers=icon:,">
我相信该函数与该函数有关,当从 db 获取 10 条记录时,该函数无法快速获取信息?因为有时刷新页面后我可以显示所有位置,有时只显示 1 个位置。
【问题讨论】:
-
地理编码服务受配额和速率限制。听起来你正在击中其中之一。为您的代码添加错误检查。
-
好吧,如果有一些限制,那为什么有一次我会显示所有限制,有时只显示几个?
-
没有什么说限制必须是一致的。它们可以根据服务器的负载而变化。在代码中添加错误检查可能会回答这个问题。请注意,静态地图服务也有限制。
-
我明白了,我找到了一个解决方案,我将在这里发布它
标签: php google-maps geolocation