我对Google的结果感到非常沮丧,希望有人能给我最好的建议。
我已经创建了一个AutoSuggest功能,你可以开始输入地址,谷歌会给出建议。然后用户选择和地址继续前进。
但在我希望他们在下一页继续之前,我想验证他们的选择。我原以为这会很容易,因为我们只是在检查谷歌已经提供了什么。但是,当我进行验证查找时,它不会显示任何结果。
一些示例代码:
假设我从这个建议中选择了这个地址:萨菲尔德,CT 06078,美国
然后在验证时,我用这个地址进行第二次查找,即。
$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)
给我地址怎么能找不到呢?
我怎么才能避开这一切?
发布于 2010-01-25 20:26:34
你是对的。太奇怪了。
请注意,当您移除CT和06078之间的空间时,它确实有效:
http://maps.google.com/maps/geo?q=Suffield,+CT06078,+USA&output=csv&sensor=false以上返回41.9817631,-72.6506462。(链接到谷歌地图)
用以下方式对这些坐标进行逆向地理编码:
http://maps.google.com/maps/geo?q=41.9817631,-72.6506462&output=csv&sensor=false返回:
200,4,"Suffield, CT, USA"发布于 2010-01-25 20:26:15
确实,这真的很奇怪,但我能够使用完整的状态名验证地址。
不管用:
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会返回假结果。
https://stackoverflow.com/questions/2135323
复制相似问题