szhorvath/laravel-getaddress

laravel-getaddress.io 的 Laravel 扩展包

1.2.0 2018-10-17 12:13 UTC

This package is auto-updated.

Last update: 2024-09-18 07:02:17 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

laravel-getaddress 提供了 getaddress.io 的封装,适用于 Laravel 5.4 及以上版本。此包基于 PeteLawrence/getaddress PHP 库。

在 Laravel 5.4 中安装

您可以通过 composer 引入此包

$ composer require szhorvath/laravel-getaddress

您需要将 Szhorvath\GetAddress\GetAddressServiceProvider 添加到您的 config/app.php 的 providers 数组中

Szhorvath\GetAddress\GetAddressServiceProvider::class,

将以下环境变量添加到您的 .env 文件中

GETADDRESSIO_API_KEY=your-api-key

您必须发布配置文件

$ php artisan vendor:publish --provider="Szhorvath\GetAddress\GetAddressServiceProvider"

在 Laravel 5.5 及以上版本中安装

您可以通过 composer 引入此包

$ composer require szhorvath/laravel-getaddress

该包将自动注册自己

将以下环境变量添加到您的 .env 文件中

GETADDRESSIO_API_KEY=your-api-key

您必须发布配置文件

$ php artisan vendor:publish --provider="Szhorvath\GetAddress\GetAddressServiceProvider"

使用方法

在控制器中,您可以使用 Facade。GetAddress 总是返回一个数组

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Szhorvath\GetAddress\Facades\GetAddress;

class AddressController extends Controller
{
    public function lookup()
    {
        $result = GetAddress::lookup('S20 8JH');

        $longitude = $result->getLongitude();
        $latitude = $result->getLatitude();
        $addressList = $result->getAddresses();

        foreach ($addressList as $key => $address) {
            $line1 = $address->getLine1();
            $line2 = $address->getLine2();
            $line3 = $address->getLine3();
            $line4 = $address->getLine4();
            $town  = $address->getTown();
            $postalTown = $address->getPostalTown();
            $normalisedTown = $address->getNormalisedTown();
            $county = $address->getCounty();
            #Full address as comma separated string
            $csv = $address->toCsv();
        }

        #Or for a specific address you can pass the house number or name as second parameter
        $result = GetAddress::lookup('S20 8JH', 5);
        if ($address = $result->getAddress()) {
            $town  = $address->getTown();
        };
    }
}

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

$ composer test

贡献

有关详细信息,请参阅 CONTRIBUTINGCODE_OF_CONDUCT

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件 z.sandor.horvath@gmail.com 联系我们,而不是使用问题跟踪器。

鸣谢

许可协议

MIT 许可协议 (MIT)。更多信息请参阅 许可文件