3

現在、次のコードを使用しています。

$zipcode = '91762';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://ajax.googleapis.com/ajax/services/search/local?v=1.0&q=restauraunts+".$zipcode."&rsz=large");
curl_setopt($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec($ch);
$data = ob_get_contents();
ob_end_clean();
curl_close($ch);
$restauraunts_array = json_decode($data, true);

        foreach($restauraunts_array['responseData']['results'] as $key => $value) {
            $results[] = array(
                'title' => $value['titleNoFormatting'],
                'address' => $value['streetAddress'],
                'city' => $value['city'],
                'state' => $value['region'],
                'zipcode' => $zipcode,
                'phone' => $value['phoneNumbers'][0]['number'],
                'lat' => $value['lat'],
                'lng' => $value['lng']
            );
        }

ただし、返される結果は7つだけです。私はもっ​​と多くを取り戻す方法を探しています。APIコードを調べましたが、より多くの結果を返す方法が見つかりませんでした。できますか?いくつかの結果を得る方法のドキュメント/実装を教えてもらえますか?

答え:マイキーは私が探していた答えを提供することができました。32の結果を得るために私が行っていることは次のとおりです。

 $zipcode = '91762';
    $results = array()
    $counter = array(0,8,16,24);
    foreach($counter as $page) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://ajax.googleapis.com/ajax/services/search/local?v=1.0&q=restauraunts+".$zipcode."&rsz=large&start=".$page);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    ob_start();
    curl_exec($ch);
    $data = ob_get_contents();
    ob_end_clean();
    curl_close($ch);
    $restauraunts_array = json_decode($data, true);
    if(!empty($restauraunts_array['responseData']['results'])) {
            foreach($restauraunts_array['responseData']['results'] as $key => $value) {
                $results[] = array(
                    'title' => $value['titleNoFormatting'],
                    'address' => $value['streetAddress'],
                    'city' => $value['city'],
                    'state' => $value['region'],
                    'zipcode' => $zipcode,
                    'phone' => $value['phoneNumbers'][0]['number'],
                    'lat' => $value['lat'],
                    'lng' => $value['lng']
                );
            }
      }
      return $results;
4

2 に答える 2

3

現在、ほとんどの場合、Search APIで取得できる結果は合計64件(それぞれ8件の結果の8ページ)に制限されています。このルールの例外は、ローカルとブログです。Localは最大4ページの8つの結果、合計32を返し、Blogは最初の8ページのみを返します。

ソース: http: //groups.google.com/group/Google-AJAX-Search-API/browse_thread/thread/db6616286ce83ca0

于 2010-09-01T14:27:15.023 に答える
0

これは正しくありません。4ページに8つの結果があり、それぞれが取得できる最大数です。

ローカル検索の場合は最大32件、通常検索の場合は最大64件です。

于 2011-01-11T10:15:11.147 に答える