谷歌地理编码和邮政编码查找失败
Posted
技术标签:
【中文标题】谷歌地理编码和邮政编码查找失败【英文标题】:Google geocode and post code look up failure 【发布时间】: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 个位置。
【问题讨论】:
地理编码服务受配额和速率限制。听起来你正在击中其中之一。为您的代码添加错误检查。 好吧,如果有一些限制,那为什么有一次我会显示所有限制,有时只显示几个? 没有什么说限制必须是一致的。它们可以根据服务器的负载而变化。在代码中添加错误检查可能会回答这个问题。请注意,静态地图服务也有限制。 我明白了,我找到了一个解决方案,我将在这里发布它 【参考方案1】:好吧,我找到了解决方案。
因为我在从 db 获取结果时使用了这个函数,所以它可能会遇到查找的限制或其他问题。
现在当用户发布他们的图像并输入他们的邮政编码时,我得到纬度和经度,我使用函数从邮政编码中提取纬度和经度,然后将结果插入到数据库中。
现在即使我从数据库中获取 10 个结果,因为我已经整理了所有位置,所以所有地图都显示没有问题。
【讨论】:
以上是关于谷歌地理编码和邮政编码查找失败的主要内容,如果未能解决你的问题,请参考以下文章