PHP谷歌地理编码服务返回零结果

时间:2013-07-14 13:18:37

标签: php geocoding google-geocoder

当我尝试通过谷歌服务将地址转换为纬度和经度时,我遇到了问题。我的地址是1456 sok。 no:10/1 kat:8 Alsancak。问题是当我将此地址写入url时,会返回正确的结果,但是当我使用下面的php代码时,我得到的结果为零。

结果没问题:

http://maps.google.com/maps/api/geocode/json?address=1456%20sok.%20no:%2010/1%20kat:8%20Alsancak&sensor=true

php的问题:

<?php
header('Content-Type: text/html; charset=utf-8');


getGoogleAddressCoordinates("1456 sok. no: 10/1 kat:8 Alsancak");

function getGoogleAddressCoordinates($address)
{
 //$address = urlencode($address);
 $address = str_replace(" ", "%20", $address);

 $request = file_get_contents('http://maps.google.com/maps/api/geocode/json?address=' . $address . '&sensor=true');
 $json = json_decode($request, true);
 print_r ($json);


}  

&GT;

1 个答案:

答案 0 :(得分:0)

地址1456 sok. no: 10/1 kat:8 Alsancak无效。如果你在谷歌地图中尝试它也会得到零结果。

尝试使用:1456 sok. 10/1 Alsancak并取消注释第$address = urlencode($address);行并清除第$address = str_replace(" ", "%20", $address);行。

网址应如下所示:

http://maps.google.com/maps/api/geocode/json?address=1456%20sok.%2010%2F1%20Alsancak&sensor=true