如何获得超过20个结果,即。60 使用谷歌地方API与PHP?
我正在开发一个谷歌放置API应用程序,我的目标是获取特定查询的所有可用详细信息。但据我所知,谷歌放置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个结果。
谢谢