Google maps 当使用超过1个单词的城市名称时,谷歌地图地理编码XML服务通过Curl返回错误

Google maps 当使用超过1个单词的城市名称时,谷歌地图地理编码XML服务通过Curl返回错误,google-maps,curl,geocoding,Google Maps,Curl,Geocoding,我通过一个php脚本使用以下Google地图地理编码服务 我已经尝试过curl和file_get_内容,但都不起作用。问题是,当我用一个词来表示城市名称时,它是有效的,但当我用两个词来表示城市名称时,我没有从服务中得到任何信息,但出现以下错误 那是个错误 您的客户端发出了格式错误或非法的请求。我们只知道这些 下面是脚本中的一些代码片段 $city=$_GET[“c”]; $url=”http://maps.googleapis.com/maps/api/geocode/xml?address=

我通过一个php脚本使用以下Google地图地理编码服务

我已经尝试过curl和file_get_内容,但都不起作用。问题是,当我用一个词来表示城市名称时,它是有效的,但当我用两个词来表示城市名称时,我没有从服务中得到任何信息,但出现以下错误

  • 那是个错误 您的客户端发出了格式错误或非法的请求。我们只知道这些

    下面是脚本中的一些代码片段

    $city=$_GET[“c”]; $url=”http://maps.googleapis.com/maps/api/geocode/xml?address=$city&sensor=false”; $data=curl\u下载($url); //$data=文件内容($url)

    回波数据

    我还上传了脚本到下面的位置

    01)http://www.javeria.com/sites/travel/map/googlemap.php?c=Houston (工程) 02)http://www.javeria.com/sites/travel/map/googlemap.php?c=New+约克(不工作)

    当使用02)调用时,它将不显示地图,而是屏蔽错误以显示用户友好的消息


    我将非常感谢您对此事的帮助。

    试着在字里行间使用
    +
    。我基本上也在做同样的事情——这种改变让它对我起作用。

    mmmm,我尝试从脚本中调用您提供的url,它使用纽约作为城市参数,当您像下面那样直接调用它时,它会起作用,但当您使用curl或file\u get\u contents()时它不起作用,请参阅下面的链接,该链接不起作用,但如果你这样做了,我会设法让它起作用。下面是我所做的01)从给定地址将“spaces”替换为“+”02)urlencode address 03)将url传递给curl下面是一个例子,如果地址中有空格,它就可以工作