如果我只使用像
这样的一个词,谷歌地理编码api工作得非常好悉尼
但是如果我使用:
澳大利亚悉尼
它不工作,它说:
警告:file_get_contents (https://maps.google.com/maps/api/geocode/json?address=sydney,澳大利亚&sensor=false):打开流失败:HTTP请求失败!HTTP/1.0 400错误请求
即使它在我的浏览器中工作,当我粘贴这个url,但当我使用这个函数file_get_contents
它没有。
我的问题很简单,为什么它在我的浏览器中工作,当我粘贴这个结果,为什么它不与下面的代码工作。当然还有如何解决这个问题。
$a = file_get_contents("https://maps.google.com/maps/api/geocode/json?address=sydney, Australia&sensor=false");
您必须对地址进行url编码:
$a = file_get_contents("https://maps.google.com/maps/api/geocode/json?address=" . urlencode('sydney, Australia') . "&sensor=false");
是空间造成的问题。人们正在使用:
$address = str_replace(' ','+',$address);
p。这是一个很晚的回复,但可能会帮助一些像我一样通过搜索到达页面的人。