wubs / simple-google-directions-api
Communicates with the google directions api
Requires
- php: >=5.5
- guzzlehttp/guzzle: 5.2.0
- illuminate/support: 5.0.x
- nesbot/carbon: ~1.18
Requires (Dev)
- phpunit/phpunit: ~4.0
- vlucas/phpdotenv: 2.x-dev
- wubs/postcode-api: ~1.1
This package is not auto-updated.
Last update: 2025-01-04 19:25:19 UTC
README
This is a simple laravel package to get basic information from the Google Directions API.
Installation
To install this library into your project simply do the following in your project root:
composer require wubs/simple-google-directions-api:0.*
Laravel specific
If you use Laravel, add 'Wubs\Directions\DirectionsServiceProvider',
to app/config.php
in the providers array and
add
'Directions' => 'Wubs\Directions\Facades\Directions',
to the aliases array, also in app/config.php
.
Usage
You can use the facade like this:
<?php $options = new DirectionOptions( DirectionOption::origin($address1->latitude, $address1->longitude), DirectionOption::destination($address2->latitude, $address2->longitude), DirectionOption::mode(TravelModes::BICYCLING), DirectionOption::alternatives(true), DirectionOption::language("nl_NL"), DirectionOption::departureTime(Carbon::now()) ); $routes = Directions::route($options);
Or get it from the IoC container like so:
<?php $api = $app->make('\Wubs\Directions\Directions')
Or inject it into a constructor
<?php namespace App\Http\Controllers; use Wubs\Directions\Directions; class DirectionsController extends Controller { private $api; public function __construct(Directions $directions) { $this->directions = $directions; } }
Publish the configuration by running:
php artisan vendor:publish
Afterwards the configuration will be located in config/directions.php
I highly recommend using the .env file.
Non laravel usage
The package is also usable without Laravel. See the code below.
<?php require 'vendor/autoload.php' use Wubs\Directions\Directions; $directions = new Directions(getenv("GOOGLE_DIRECTIONS_SERVER_KEY")); $zipApi = new Wubs\Zip\ZipApi(getenv("ZIP_API_KEY")); $address1 = $zipApi->address("8316PB", 28); $address2 = $zipApi->address("6821HX", 1); $options = new DirectionOptions( DirectionOption::origin($address1->latitude, $address1->longitude), DirectionOption::destination($address2->latitude, $address2->longitude), DirectionOption::mode(TravelModes::BICYCLING), DirectionOption::alternatives(true), DirectionOption::language("nl_NL"), DirectionOption::departureTime(Carbon::now()) ); $response = $directions->route($options);