wubs/simple-google-directions-api

关于此包的最新版本(0.1.14)没有可用的许可信息。

与Google Directions API通信

0.1.14 2015-04-30 18:45 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:54:29 UTC


README

这是一个简单的Laravel包,用于从Google Directions API获取基本信息。

安装

要将此库安装到您的项目中,请在项目根目录下执行以下操作

composer require wubs/simple-google-directions-api:0.*

Laravel特定

如果您使用Laravel,请在 app/config.php 中的提供者数组中添加 'Wubs\Directions\DirectionsServiceProvider',,并将 'Directions' => 'Wubs\Directions\Facades\Directions', 添加到别名数组中,同样在 app/config.php 中。

用法

您可以使用外观类如下所示

<?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);

或这样从IoC容器中获取

<?php
$api = $app->make('\Wubs\Directions\Directions')

或将其注入构造函数中

<?php namespace App\Http\Controllers;

use Wubs\Directions\Directions;

class DirectionsController extends Controller
{
   private $api;
   
    public function __construct(Directions $directions)
    {
        $this->directions = $directions;
        
    }
}

通过运行发布配置

php artisan vendor:publish

之后,配置将位于 config/directions.php

我强烈建议使用 .env 文件。

Laravel外使用

该包也可以在Laravel外使用。请参阅下面的代码。

<?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);