谷歌地图GEO结果

时间:2010-01-25 20:19:03

标签: google-maps geolocation

我对Google地理结果感到非常沮丧,并希望有人可以告诉我最好的去处。

我创建了一个AutoSuggest功能,您可以在其中输入地址,Google会回复建议。用户然后选择并继续前进。

但在我希望他们继续下一页之前,我想验证他们的选择。我认为这很容易,因为我们只是在检查Google已经提供的内容。但是当我进行验证查询时,它没有显示任何结果。

一些示例代码:

让我们说我选择了这个地址的建议:Suffield,CT 06078,USA

然后在验证时,我用这个地址进行第二次查找,即

$string = "Suffield, CT 06078, USA";    
echo 'http://maps.google.com/maps/geo?output=json&oe=utf8&gl=us&sensor=false&key=[MyKey]&q='.urlencode($string).'';

它给出了错误代码602(G_GEO_UNKNOWN_ADDRESS)

如果它给我的地址怎么办?

我如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

你是对的。这很奇怪。

请注意,当您删除CT和06078之间的空格时,它会起作用:

http://maps.google.com/maps/geo?q=Suffield,+CT06078,+USA&output=csv&sensor=false

以上返回41.9817631,-72.6506462。 (Link to Google Maps


使用以下方法对这些坐标进行反向地理编码:

http://maps.google.com/maps/geo?q=41.9817631,-72.6506462&output=csv&sensor=false

返回:

200,4,"Suffield, CT, USA"

答案 1 :(得分:1)

确实很奇怪,但我能够使用完整的州名来验证地址。

不起作用:

  

http://maps.google.com/maps/geo?output=json&oe=utf8&gl=us&sensor=false&key=[MyKey]&q=Suffield,%20CT%2006078

工作:

  

http://maps.google.com/maps/geo?output=json&oe=utf8&gl=us&sensor=false&key=[MyKey]&q=Suffield,%20Connecticut%2006078

是的,他们提供给你的地址在他们自己的系统中不起作用。话虽如此,寻找哈特福德,CT也在工作。看来他们的数据可能存在列表差异,因此Suffield + CT会返回错误的结果。