PHP client library (SDK) for Google Maps API Web Services
PHP client library(SDK) for Google Maps API Web Services
$gmaps = new \yidas\googleMaps\Client(['key'=>'Your API Key']);
// Geocoding an address
$geocodeResult = $gmaps->geocode('Taipei 101, Taipei City, Taiwan 110');
// Look up an address with reverse geocoding
$reverseGeocodeResult = $gmaps->reverseGeocode([25.0339639, 121.5644722]);
// Request directions via public transit
$directionsResult = $gmaps->directions('National Palace Museum', 'Taipei 101', [
'mode' => "transit",
'departure_time' => time(),
]);
The PHP Client for Google Maps Services is a PHP Client library for the following Google Maps APIs:
Each Google Maps Web Service request requires an API key or client ID. API keys are freely available with a Google Account at https://developers.google.com/console. The type of API key you need is a Server key.
To get an API key:
For guided help, follow the instructions for the [Directions API][directions-key]. You only need one API key, but remember to enable all the APIs you need. For even more information, see the guide to [API keys][apikey].
Important: This key should be kept secret on your server.
Run Composer in your project:
composer require yidas/google-maps-services
Then you could call it after Composer is loaded depended on your PHP framework:
require __DIR__ . '/vendor/autoload.php';
use yidas\googleMaps\Client;
Before using any Google Maps Services, first you need to create a Client with configuration, then use the client to access Google Maps Services.
Create a Client using API key:
$gmaps = new \yidas\googleMaps\Client(['key'=>'Your API Key']);
If you use Google Maps APIs Premium Plan license instead of an API key, you could create Client using client ID and client secret (digital signature) for authentication.
$gmaps = new \yidas\googleMaps\Client([
'clientID' => 'Your client ID',
'clientSecret' => 'Your digital signature'
]);
You could set language for Client for all services:
$gmaps = new \yidas\googleMaps\Client(['key'=>'Your API Key', 'language'=>'zh-TW']);
Changing language during execution:
$gmaps->setLanguage('zh-TW');
// ...
[Elevation API overview | Google for Developers](https://developers.google.com/maps/documentation/elevation/overview) |
// Get elevation by locations parameter
$elevationResult = $gmaps->elevation([25.0339639, 121.5644722]);
$elevationResult = $gmaps->elevation('25.0339639, 121.5644722');
[Get a route | Google for Developers](https://developers.google.com/maps/documentation/routes/compute_route_directions) |
$routes = $gmaps->computeRoutes($originArray, $destinationArray, $fullBodyArray, $fieldMask)
// Get the route data between two places simply
$routes = $gmaps->computeRoutes([
"location" => [
"latLng" => [
"latitude" => 37.419734,
"longitude" => -122.0827784
]
]
],
[
"location" => [
"latLng" => [
"latitude" => 37.41767,
"longitude" => -122.079595
]
]
]);
// Get the full route data between two places with full request data
$routes = $gmaps->computeRoutes([...], [...], ["travelMode": "DRIVE", ...], '*');
[Snap to Roads | Google for Developers](https://developers.google.com/maps/documentation/roads/snap) |
$roads = $gmaps->snapToRoads([[-35.27801,149.12958], [-35.28032,149.12907], [-35.28099,149.12929]]);
[Getting directions | Google for Developers](https://developers.google.com/maps/documentation/directions/get-directions) |
// Request directions via public transit
$directionsResult = $gmaps->directions('National Palace Museum', 'Taipei 101', [
'mode' => "transit",
'departure_time' => time(),
]);
[Get started with the Distance Matrix API | Google for Developers](https://developers.google.com/maps/documentation/distance-matrix/start) |
// Get the distance matrix data between two places
$distanceMatrixResult = $gmaps->distanceMatrix('National Palace Museum', 'Taipei 101');
// With Imperial units
$distanceMatrixResult = $gmaps->distanceMatrix('National Palace Museum', 'Taipei 101', [
'units' => 'imperial',
]);
[Geocoding API overview | Google for Developers](https://developers.google.com/maps/documentation/geocoding/overview) |
// Geocoding an address
$geocodeResult = $gmaps->geocode('Taipei 101, Taipei City, Taiwan 110');
// Look up an address with reverse geocoding
$reverseGeocodeResult = $gmaps->reverseGeocode([25.0339639, 121.5644722]);
[Geolocation API overview | Google for Developers](https://developers.google.com/maps/documentation/geolocation/overview) |
// Simple geolocate
$geolocateResult = $gmaps->geolocate([]);
[Time Zone API overview | Google for Developers](https://developers.google.com/maps/documentation/timezone/overview) |
// requests the time zone data for giving location
$timezoneResult = $gmaps->timezone([25.0339639, 121.5644722]);