Как получить статус ответа из метаданных Street View Image с помощью жадности - PullRequest
0 голосов
/ 09 февраля 2019

Я использую жадность для вызова API Street View Image из моего приложения laravel.Я хочу иметь возможность получить код состояния из моего запроса, как описано в конце документов .

Я специально хочу поймать:

{
    "status" : "ZERO_RESULTS"
}

вот мой код жадности от моего контроллера (я правильно включаю жадность в пространство имен).Адрес в вызове get генерирует сообщение «Извините, у нас здесь нет изображений»:

$client = new Client();
        $res = $client->get('https://maps.googleapis.com/maps/api/streetview?size=800x600&location=78.648401,14.194336&key=my-API-key&fov=120&heading=90');
        $res->getStatusCode();
        dd($res->getBody());

НО.Как вы можете видеть на картинке, метаданные пусты.Когда я передаю $ res-> getStatusCode (); , это дает мне 200 .

Как мне перехватить ZERO_RESULT?

enter image description here

1 Ответ

0 голосов
/ 10 февраля 2019

Сэр, пожалуйста, обратите внимание, что есть две разные конечные точки;один для метаданных и один для поиска изображений.Вы использовали только поиск изображений.Вот пример метода проверки, имеет ли данная координата изображение

private function coordinateHasImage($coordinate)
{
    $client = new Client();
    $res = $client->get(  'https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=' . $coordinate . '&fov=90&heading=235&pitch=10&key=YOUR_KEY_HERE');
    return json_decode($res->getBody()->getContents())->status == "OK";
}
...