Геокодер Laravel всегда возвращает пустой


person ssuhat    schedule 23.09.2017    source источник


Ответы (4)


Для всех, кто также в отчаянии по этому поводу, если вы столкнулись с этой проблемой, убедитесь, что у вас включен GeoCoding API в вашем проекте Google.

Я ожидал, что библиотека предоставит отзыв об этой ситуации, но я ошибался, поэтому, если вы столкнулись с таким поведением, это может быть ответом на вашу проблему.

person Paulo Taylor    schedule 19.06.2019

используйте так, как указано в источнике

$geocodeData = Geocoder::geocode('Los Angeles, CA');
return $geocodeData;
person Mr. Pyramid    schedule 23.09.2017
comment
Я вижу результат только тогда, когда dd() - person ssuhat; 23.09.2017

Я уверен, что вы уже нашли решение, но просто чтобы добавить, вам не хватает переменной ENV для локали:

return [
'cache-duration' => 0,
'providers' => [
    Chain::class => [
        GoogleMaps::class => [
            env('en', 'en-US'), //YOU HAD ONLY 'en-US' here.
            env('GOOGLE_MAPS_API_KEY'),
        ],
    ],
    GoogleMaps::class => [
        env('en', 'en-US'), //YOU HAD ONLY 'us' here.
        env('GOOGLE_MAPS_API_KEY'),
    ],
],
'adapter'  => Client::class,
];

Надеюсь, это поможет любому, кто ищет, как решить эту ошибку!

person Delindel    schedule 30.01.2018
comment
Как это помогает? Что это? - person Abhishek; 24.08.2020

В моем случае оказалось, что я использовал ключ API, который был ограничен для HTTP. Поскольку php является серверной стороной, вы должны использовать ключ API, который ограничен для IP (не HTTP, это было бы для клиентской стороны, то есть для карт Google). Вы можете сделать это в облачной консоли Google, создав новый КЛЮЧ API, который вы будете использовать для запросов на стороне сервера. (сопоставьте другой ключ для использования с картами Google/запросами на стороне клиента)

person xslibx    schedule 07.06.2021