varsitynewsnetwork / google-places-api
A mini library to fetch place information out of Google Places API via a text search
Installs: 5 548
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 8
Forks: 5
Open Issues: 2
Requires (Dev)
- guzzlehttp/guzzle: ^6.0
- peridot-php/leo: ^1.4
- peridot-php/peridot: ^1.15
- peridot-php/peridot-prophecy-plugin: ^1.1
- peridot-php/peridot-watcher-plugin: ^1.3
- squizlabs/php_codesniffer: ^2.3
Suggests
- guzzlehttp/guzzle: ^6.0
This package is auto-updated.
Last update: 2024-12-19 22:37:59 UTC
README
A mini library to fetch place information out of Google Places API via a text search or a find place request
Usage
$service = new PlaceService(new GuzzleAdapter()); $service->setApiKey('YOUR_KEY_HERE'); $results = $service->textSearch('Van Andel Arena');
Formatters
The concept of formatters are baked in to allow you to easily manipulate
the data returned by Google. Simply pass a callable as the second argument
to textSearch()
or findPlace()
.
For instance, if you only wanted the address of the first result:
$service = new PlaceService(new GuzzleAdapter()); $service->setApiKey('YOUR_KEY_HERE'); $results = $service->textSearch('Van Andel Arena', function (results) { if (count($results)) { return $results[0]['formatted_address']; } return null; });
The library also ships with some standard formatters:
CountryStripperFormatter
: Removes the country from theformatted_address
LatLngFormatter
: Formats the results as an array of lat, lng, and address.SingleResultFormatter
: Grabs the first result and returns itCompositeFormatter
: Allows for running multiple formatters
Example:
$service = new PlaceService(new GuzzleAdapter()); $service->setApiKey('YOUR_KEY_HERE'); $result = $service->textSearch('Van Andel Arena', new CompositeFormatter([ new SingleResultFormatter(), new CountryStripperFormatter(true), new LatLngFormatter(true) ]));
Which will yield something like:
Array
(
[address] => 130 Fulton West, Grand Rapids, MI 49503
[lat] => 42.962433
[lng] => -85.671566
)