1

当我尝试通过谷歌服务将地址转换为纬度和经度时遇到问题。我的地址是1456 sok。否: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);


}  

?>

4

1 回答 1

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

于 2013-07-14T13:31:42.650 回答