2010-01-25 44 views
7

我对Google地理搜索结果感到非常沮丧,希望有人能够告诉我最好的结果。Google地图GEO结果

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

但之前我希望他们继续下一页我想验证他们的选择。我原以为这很容易,因为我们只是检查谷歌已经提供的。但是当我进行验证查找时,它不显示任何结果。

一些示例代码:

可以说,我从建议选择这个地址:萨菲尔德,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)

怎么能不被当它给我的地址找到?

我该如何解决这个问题?

+0

看起来,如果你删除任何一个国家或邮政编码它的工作原理。我不知道为什么... – 2010-01-25 20:29:02

+0

这是** maps.google.com/maps/geo吗?** API弃用? – EmptyStack 2012-06-18 09:27:53

回答

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

是的,他们给你提供的地址不在他们自己的系统中工作EM。这就是说,寻找康涅狄格州哈特福德的工作。看起来在他们的数据中可能存在列表差异,因此Suffield + CT将返回错误结果。

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" 
+0

Wiered通过删除一个空间的作品?可能必须有雅虎API备份,他们可能会删除空间并再次尝试 – Lee 2010-01-25 20:32:58

相关问题