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 Places | details(), autocomplete(), textSearch(), nearbySearch(), findPlace() |
| Automatické stránkovanie | textSearchPaginated(), nearbySearchPaginated() |
| Geokódovanie | geocode(), geocodeAddress() |
| Trasy | distance(), computeMatrix() |
| Handles | session(), matrix(), photo() |
| Požiadavky na fotografie | photoUri(), photoContents(), photoUrl() |
| Stav API | check() |
| Testovanie | fake() |
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 changeHandles
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 handle | Pozná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 kryptomienOdoslaní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.