特定のクエリの利用可能なすべての詳細を取得するターゲットであるGooglePlacesAPIアプリケーションを開発しています。しかし、私が知っているように、Google Places APIは一度に20件の結果しか返しません。しかし、利用可能なすべての場所の詳細が必要です。
検索キーワードで複数回検索すると、常に同じ結果が得られます。ですから、同じキーワードで検索するたびに異なる結果を得る方法があることを知りたいのです。
<?php
$placeSearchURL = 'https://maps.googleapis.com/maps/api/place/textsearch/json?query=' . $query . '&sensor=true' . '&key=' . API_KEY;
$placeSearchJSON = file_get_contents($placeSearchURL);
$dataArray = json_decode($placeSearchJSON);
$references = array();
$detailsOfPlaces = array();
if (isset($dataArray->status)) {
switch ($dataArray->status) {
case 'OK' :
foreach( $dataArray->results as $details) {
$references[] = $details->reference;
}
break;
default:
echo "Something wrong";
}
}
foreach ($references as $reference) {
$placeDetailsURL = 'https://maps.googleapis.com/maps/api/place/details/json?reference=' . $reference . '&sensor=true&key=' . API_KEY;
$placeDetails =file_get_contents($placeDetailsURL);
$placeDetailsAsArray = json_decode($placeDetails);
switch ($dataArray->status) {
case 'OK' :
$detailsOfPlace['business_name'] = isset($placeDetailsAsArray->result->name) ? $placeDetailsAsArray->result->name : '';
$detailsOfPlace['address'] = isset($placeDetailsAsArray->result->formatted_address) ? $placeDetailsAsArray->result->formatted_address : '';
$detailsOfPlaces[] = $detailsOfPlace;
break;
default:
echo "Something went wrong";
}
}
これは私のコードです。クエリごとに20件の結果を返します。クエリごとに60の結果を得るには、どのような調整を行う必要があるか教えてください。
ありがとう