我对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)
如果它给我的地址怎么办?
我如何解决这个问题?
答案 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)
确实很奇怪,但我能够使用完整的州名来验证地址。
不起作用:
工作:
是的,他们提供给你的地址在他们自己的系统中不起作用。话虽如此,寻找哈特福德,CT也在工作。看来他们的数据可能存在列表差异,因此Suffield + CT会返回错误的结果。