NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Google Places for Laravel

Geolokačný driver

Balík registruje v manažéri geolocation-for-laravel driver google_places. Cez Google Places prevádza adresy na súradnice a súradnice na adresy a výsledok mapuje na vlastné DTO Location balíka geolocation. Google Places nepozná geolokáciu podľa IP, preto dopyty len s IP prejdú na ďalšieho poskytovateľa.

Pipeline nikdy nepreruší

  • Nedostupný Google — timeout, zlyhanie DNS, odmietnuté spojenie — sa ohlási ako ProviderUnavailableException balíka geolocation; manažér ho zaznamená v LocationResolutionFailed a poskytovateľa preskočí.
  • Každé iné zlyhanie Places — chýbajúci kľúč, REQUEST_DENIED, OVER_QUERY_LIMIT, rýchle zlyhanie klientskeho rate limitu — je netrafenie (null), takže odpovie ďalší poskytovateľ. Pri chybe API sa udalosť PlacesRequestFailed spustí aj tak.
  • Driver číta vlastnú konfiguráciu google-places (GOOGLE_PLACES_API_KEY, timeouty, rate limity). Prepisy pre jedno volanie z balíka geolocation — withToken('google_places', …), withConfig(), withTimeout() — sa k nemu nedostanú.

Použitie drivera

Zaraďte driver do svojho geolokačného pipeline:

// config/geolocation.php — consult google_places in your resolution order:
'pipeline' => ['maxmind_database', 'google_places', 'default'],

Alebo ho zavolajte priamo:

use RoundlyConsulting\Geolocation\DataTransferObjects\Coordinates;
use RoundlyConsulting\Geolocation\Facades\Geolocation;

// Ad-hoc, scoped to the driver for a single call:
$location = Geolocation::provider('google_places')->locateAddress('Bratislava, Slovakia');
$location = Geolocation::provider('google_places')->locateCoordinates(new Coordinates(48.1486, 17.1077));

echo $location?->humanReadable;
echo $location?->countryIsoCode;

Namapovaná Location vyplní humanReadable, street (číslo a ulica), city, region, postalCode, countryIsoCode, latitude a longitude z prvého výsledku geokódovania. Dopyty idú cez toho istého klienta, takže platí cache, rate limity aj udalosti.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.