Я хотел бы объединить два вызова Place-API в один, чтобы получить дополнительную информацию о списках.
Пример:
Мой первый запрос сценария предоставляет имя и адрес из API. Однако API Placesearch не предоставляет почтовый индекс или другую необходимую мне информацию.
Мой текущий скрипт показывает мне это:
name;adress,lnt,lng,place_id
но мне нужно больше информации для каждой записи, например, почтовый индекс, который здесь не указан.
Как включить второй вызов API для каждого place_id и отобразить почтовый индекс?
$apikey = 'KEY';
$url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=51.374,10.1495&rankby=distance&name=keyword&language=de&key=$apikey";
$json = file_get_contents($url);
$obj = json_decode($json, true);
for($i=0; $i<count($obj['results']); $i++) {
echo "" . $obj['results'][$i]['name'] . ";" . $obj['results'][$i]['vicinity'] . ";" . $obj['results'][$i]['geometry']['location']['lat'] . ";" . $obj['results'][$i]['geometry']['location']['lng'] . ";" . $obj['results'][$i]['place_id'] . DISPLaY POSTCODE "<BR>";
};
Я знаю, мне нужно выполнить этот запрос для каждого place_id:
https://maps.googleapis.com/maps/api/place/details/json?placeid=$place_id=name,rating,formatted_phone_number&key=YOUR_API_KEY
Но как мне совместить это с первыми результатами? Мне нужно:
Name;Adress;Postcode;LAT;LNG;
Обновление:
1-й запрос:
$apikey = 'KEY';
$url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=51.374,10.1495&rankby=distance&name=keyword&language=de&key=$apikey";
$json = file_get_contents($url);
$obj = json_decode($json, true);
for($i=0; $i<count($obj['results']); $i++) {
echo "" . $obj['results'][$i]['name'] . ";" . $obj['results'][$i]['vicinity'] . ";" . $obj['results'][$i]['geometry']['location']['lat'] . ";" . $obj['results'][$i]['geometry']['location']['lng'] . ";" . $obj['results'][$i]['place_id'] . DISPLaY POSTCODE "<BR>";
};
это один бывший ответ на первый запрос, ChIJidzOXaLBpEcRxEKHcEN9fuo - это идентификатор места, где мне нужно запросить подробную информацию:
Flinsberger Sportplatz;Heilbad Heiligenstadt;51.3163051;10.1929773;ChIJidzOXaLBpEcRxEKHcEN9fuo
это вызов API показывает подробности, которые мне нужны и к которым можно получить доступ:
https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJidzOXaLBpEcRxEKHcEN9fuo=name,rating,formatted_phone_number&key=YOUR_API_KEY
Мне нужно включить второй запрос в первый, чтобы получить за экс. почтовый индекс для конкретного элемента, который является моей проблемой, я не знаю.
и результат должен быть:
имя, адрес, почтовый индекс, ..., ..., ...