2017 © Pedro Peláez
 

library google-places-api

Google Places Api

image

skagarwal/google-places-api

Google Places Api

  • Friday, February 5, 2016
  • by Sachin Agarwal
  • Repository
  • 9 Watchers
  • 73 Stars
  • 71,583 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 31 Forks
  • 2 Open issues
  • 13 Versions
  • 23 % Grown

The README.md

Latest Stable Version Total Downloads License, (*1)

Google Places API for PHP

A PHP wrapper for Google Places API Web Service, compatible with Laravel., (*2)

Version Compatibility

Package Version PHP Laravel Google Places API
^3.0 ^8.1 ^10 \ ^11 | Places API and Places API (New)
^2.2 ^8.0.2 ^9 \ ^10 | ^11 | Places API

[!CAUTION] Version 3 is a complete rewrite using Saloon with breaking changes.
v2.2 API is deprecated and will be removed in next major version. Which means it is backward compatible.
And it is recommended to shift to v3 API before next major release.
You can refer to v2.2 documentation here., (*3)

Installation

Install it with composer, (*4)

composer require skagarwal/google-places-api

General Usage

Laravel user can see the Laravel Usage section, (*5)

use SKAgarwal\GoogleApi\PlacesNew\GooglePlaces;


public function foo() {
  $response = GooglePlaces::make(key: 'API KEY', verifySSL: false, throwOnError: false)->autocomplete('some input');

  $data = $response->array();
}

You can also set the API KEY after initiating the class using GooglePlaces::make()->setKey('KEY') method., (*6)


, (*7)

Laravel

Step 1

publish the config file with following artisan command, (*8)

php artisan vendor:publish --provider="SKAgarwal\GoogleApi\ServiceProvider"

This will create google.php file in the config directory., (*9)

Set the API KEY in this config file., (*10)

Step 2

Start making requests, (*11)

use SKAgarwal\GoogleApi\PlacesNew\GooglePlaces;


public function foo() {
  $response = GooglePlaces::make()->autocomplete('some input');

  $data = $response->collect();
}


Response

The response returned is a Saloon's Response thus you can use all the methods provided by Saloon., (*12)

$response->array(); // returns the response as array
$response->collect(); // returns the response as collection
$response->json(); // returns the response as json
$response->status(); // returns the status of the response
$response->headers(); // returns the headers of the response
$response->body(); // returns the body of the response
$response->throw(); // throws an exception if the response is not successful

You can refer to Saloon's documentation for more methods., (*13)

[!IMPORTANT]
By default, no exception is thrown for API errors. You can check the request status with $response->status().
You can also use GooglePlaces::make()->findPlace()->throw() to throw an exception if the request fails., (*14)


API Reference

This library supports both the Places API (original) and the Places API (New)., (*15)

, (*16)

Places API

This section covers methods available for original Places API., (*17)

use SKAgarwal\GoogleApi\Places\GooglePlaces; // Original Places API class

public function foo() {
  $response = GooglePlaces::make()->nearbySearch('40.748817,-73.985428');

  $data = $response->array();
}

findPlace(string $input, string $inputType, array $params = [])

  • $input: Text to search (e.g., name, address).
  • $inputType: textquery or phonenumber.
  • $params: Optional parameters. More info.

nearbySearch(string $location, ?string $radius = null, array $params = [])

  • $location: Latitude,Longitude coordinates. Order - (lat,lng) (e.g., 40.748817,-73.985428).
  • $radius: Distance in meters (max 50,000). Required unless using rankby=distance.
  • $params: Optional parameters (e.g., keyword, type). More info.

textSearch(string $query, array $params = [])

  • $query: Search string (e.g., "restaurant").
  • $params: Optional parameters. More info.

Place Details

placeDetails(string $placeId, array $params = [])

  • $placeId: Unique identifier for a place.
  • $params: Optional parameters. More info.

Place Autocomplete

placeAutocomplete(string $input, array $params = [])

  • $input: Text to search (e.g., name, address).
  • $params: Optional parameters. More info.

Query Autocomplete

queryAutocomplete(string $input, array $params = [])

  • $input: Text to search (e.g., name, address).
  • $params: Optional parameters. More info.

Place Photo

photo(string $photoReference, array $params = [])

  • $photoReference: Reference to a photo. More info
  • $params: Optional parameters. More info.

, (*18)

Places API (New)

This section covers methods available for Places API (New)., (*19)

use SKAgarwal\GoogleApi\PlacesNew\GooglePlaces; // New Places API class

public function foo() {
  $response = GooglePlaces::make()->nearbySearch(40.748817, -73.985428, 500.0);

  $data = $response->array();
}

Autocomplete

autocomplete(string $input, bool $includeQueryPredictions = false, ?array $fields = null, array $params = [])

  • $input: Text to search (e.g., name, address).
  • $fields: Fields to return. More info.
  • $includeQueryPredictions: If true, the response includes both place and query predictions. The default value is false, meaning the response only includes place predictions.
  • $params: Optional parameters. More info.

nearbySearch(float $latitude, float $longitude, float $radius = 0.0, array $fields = ['*'], array $params = [])

  • $latitude: Latitude of the location.
  • $longitude: Longitude of the location.
  • $radius: The radius must be between 0.0 and 50000.0, inclusive. The default radius is 0.0. You must set it in your request to a value greater than 0.0.
  • $fields: Fields to return. Default is all fields. More info.
  • $params: Optional parameters. More info.

Place Details

placeDetails(string $placeId, array $fields = ['*'], array $params = [])

  • $placeId: Unique identifier for a place.
  • $fields: Fields to return. Default is all fields. More info.
  • $params: Optional parameters. More info.

textSearch(string $textQuery, array $fields = ['*'], array $params = [])

  • $textQuery: Search string (e.g., "restaurant").
  • $fields: Fields to return. Default is all fields. More info.
  • $params: Optional parameters. More info.

Place Photo

placePhoto(string $name, int $maxHeightPx = null, int $maxWidthPx = null)

  • $name: A string identifier that uniquely identifies a photo. More Info
  • $maxHeightPx: The maximum desired height of the image in pixels. (Should be between 1 and 4800)
  • $maxWidthPx: The maximum desired width of the image in pixels. (Should be between 1 and 4800) > skipHttpRedirect is set to false internally to get JSON response. This cannot be changed

, (*20)

Custom Headers

Set Custom Headers

GooglePlaces::make()->headers()->add('Header-Key', 'Header-Value');

, (*21)

Additional Methods

  • setKey(string $key): Set the API key.
  • getKey(string $key): Get the API key being used.
  • verifySSL(bool $verifySSL = true): Enable/disable SSL verification.
  • throwOnErrors(bool $throwOnError):
    • By default, no exception is thrown for API errors. You can check the request status with $response->status().
    • When throwOnError is set to true, the library will throw exceptions on API failures.

Contribution

  • Report issues or contribute to the develop branch.
  • Open issues/PRs to improve this documentation.

License

This package is licensed under the MIT License., (*22)

The Versions

05/02 2016

dev-master

9999999-dev

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

dev-develop

dev-develop

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.0.0

1.0.0.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.0.1

1.0.1.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.0.2

1.0.2.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.0.3

1.0.3.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.0.4

1.0.4.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.1.0

1.1.0.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.1.1

1.1.1.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.1.2

1.1.2.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.1.3

1.1.3.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.2.0

1.2.0.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api

05/02 2016

1.2.1

1.2.1.0

Google Places Api

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Sachin Agarwal

google places google places google api google places api