【问题标题】:PHP google geocoding service returns zero resultsPHP 谷歌地理编码服务返回零结果
【发布时间】:2013-07-14 13:18:36
【问题描述】:

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


}  

?>

【问题讨论】:

  • 您从请求中究竟得到了什么? ($request 包含什么?)如果是false,则呼叫本身出了问题。您是否开启了错误报告?
  • 链接对我不起作用..我收到ZERO_RESULTS

标签: php geocoding google-geocoder


【解决方案1】:

地址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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2013-08-28
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    相关资源
    最近更新 更多