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

Fasáda GooglePlaces

Všetko ide cez fasádu GooglePlaces — RoundlyConsulting\GooglePlaces\Facades\GooglePlaces, automaticky dostupnú ako alias GooglePlaces. Ploché metódy pošlú každá jednu požiadavku; session(), matrix() a photo() vrátia handles, ktoré volajú späť ten istý klient:

use RoundlyConsulting\GooglePlaces\Facades\GooglePlaces;

// Flat lookups — one request each:
$predictions = GooglePlaces::autocomplete('Coffee');
$place       = GooglePlaces::details('ChIJN1t_tDeuEmsRUsoyG83frY4');
$places      = GooglePlaces::textSearch('pizza in Bratislava');
$addresses   = GooglePlaces::geocode(48.1486, 17.1077);

// Handles — built by the client, every call goes back through it:
$session = GooglePlaces::session();                         // PlacesSession
$matrix  = GooglePlaces::matrix($origins, $destinations);   // PendingMatrix
$bytes   = GooglePlaces::photo($place->photos[0])->contents();

// Health check:
$health = GooglePlaces::check();                            // list<ApiCheckResult>
OblasťGooglePlaces::…
Dopyty Placesdetails(), autocomplete(), textSearch(), nearbySearch(), findPlace()
Automatické stránkovanietextSearchPaginated(), nearbySearchPaginated()
Geokódovaniegeocode(), geocodeAddress()
Trasydistance(), computeMatrix()
Handlessession(), matrix(), photo()
Požiadavky na fotografiephotoUri(), photoContents(), photoUrl()
Stav APIcheck()
Testovaniefake()

Skrátené volania a query objekty

Bežné dopyty prijímajú skalárnu skratku alebo plný query objekt, keď potrebujete voľby ako jazyk, typy či preferovanú oblasť:

use RoundlyConsulting\GooglePlaces\DataTransferObjects\AutocompleteQuery;
use RoundlyConsulting\GooglePlaces\DataTransferObjects\DetailsQuery;
use RoundlyConsulting\GooglePlaces\DataTransferObjects\Location;
use RoundlyConsulting\GooglePlaces\DataTransferObjects\ReverseGeocodingQuery;
use RoundlyConsulting\GooglePlaces\Facades\GooglePlaces;

// Scalar shorthand…
GooglePlaces::autocomplete('Coffee');
GooglePlaces::details('ChIJN1t_tDeuEmsRUsoyG83frY4');
GooglePlaces::geocode(48.1486, 17.1077);

// …or a full query object when you need options:
GooglePlaces::autocomplete((new AutocompleteQuery('Coffee'))->inLanguage('sk'));
GooglePlaces::details(new DetailsQuery('ChIJN1t_tDeuEmsRUsoyG83frY4', language: 'sk'));
GooglePlaces::geocode(new ReverseGeocodingQuery(new Location(48.1486, 17.1077), language: 'sk'));

Query objekty sú nemenné: každá fluentná metóda vracia novú inštanciu, preto vždy použite vrátenú hodnotu:

$query = new AutocompleteQuery('Coffee');

$query->inLanguage('sk');           // returns a NEW query — $query is unchanged
$query = $query->inLanguage('sk');  // reassign to keep the change

Handles

Všetky tri handles vytvára klient a každú požiadavku posielajú späť cez neho — platí pre ne teda cache, rate limity, udalosti aj GooglePlaces::fake():

GooglePlaces::…Metódy handlePoznámka
session(?string $token = null)autocomplete(), details(), token(), isFinished()Jedna billing session; uzavrie sa po vyriešení details().
matrix($origins, $destinations)departingAt(), driving(), walking(), bicycling(), transit(), travellingBy()Volanie režimu presunu spustí computeMatrix() a vráti DistanceMatrix.
photo($name, $maxWidth, $maxHeight)url(), contents(), save($disk, $path)url() spustí photoUri(), contents() a save() spustia photoContents().

Úplný zoznam metód s návratovými typmi nájdete v sekcii DI a akcie — každá metóda fasády je metódou vložiteľného kontraktu PlacesClient, okrem fake(), ktorý má len fasáda.

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.