Places API只能间歇性地工作

时间:2018-06-18 04:42:13

标签: google-places-api

尽管在这个问题上工作了几个小时,但我并没有接近解决方案。我猜(希望)这是我忽略的简单事情。

我向Google地方提出了卷曲请求。它是有目的地尽可能简单地编写,这就是为什么我设置这么少的选项。如下所示,其中包含三个变量:$lat$lng是从Google地理编码获得的纬度和经度。 $placetype变量是用户从列表中选择的,可以与餐馆,酒吧,咖啡馆等等相同。

如果我进入一个大城市(例如纽约,洛杉矶,芝加哥等)并运行整个应用程序,我会得到结果 - 满60(三页二十)。如果我进入一个非常小的城镇(例如Dillonvale,OH,Eastport,ME,Harpers Ferry,WV等)我没有得到任何结果直到我再次运行应用程序。然后(没有更改代码,相同的搜索参数),我得到了一堆结果(不总是60,但足以让人信服)。

如果我再运行几次 - 我会继续得到相同的结果。如果我没有(在那个城镇)运行几天,我必须再次进行双重搜索。

我尝试将此代码复制到另一个文件 - 然后,如果$resnum等于零,包括它 - 基本上再次运行它 - 再次没有结果。直到我再次启动应用程序才得到结果。

$url="https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=**********************&location=$lat,$lng&rankby=distance&type=$placetype&hasNextPage=true&nextPage()=true";
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $response=curl_exec($ch);
    $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
      //print_r(curl_getinfo($ch));
      //print_r (curl_error($ch));
   curl_close($ch);
print"STATUS: $http_status";
$phpObj =  json_decode($response);
$token="$phpObj->next_page_token";
$pagetwoandthree=nextpages($token,$lat,$lng);
    if (is_array($phpObj->results)) {
    $phpObj->results= array_merge($phpObj->results, $pagetwoandthree);
    }
$resnum=count($phpObj->results);

既然它在大城市工作,最终在较小的城市工作,我倾向于不认为它是代码,但我不知道它还能是什么。如果重要,我正在使用BlueHost来托管该网站。顺便提一下,状态始终报告为200 - 因此它似乎认为它正在做它应该做的事情。任何想法将不胜感激!

0 个答案:

没有答案