dpovshed/zipus

美国邮政编码静态数据库。

1.1 2018-08-01 20:12 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:36:30 UTC


README

这是一个Laravel 5的包,用于通过美国邮政编码轻松简单地进行地理数据的查找。虽然有一些不错的在线查找解决方案,如 http://zippopotam.us,但有时可能更希望所有数据都保存在本地。

该包使用来自 http://federalgovernmentzipcodes.us/ 的数据。实现了一个Artisan命令来自动更新数据。

安装

步骤 1

将此添加到您的 composer.json

{
    "require": {            
        "dpovshed/zipus": "1.*"
    }
}

然后按常规安装包。

  • Laravel 5.5+ 将自动发现该包。

步骤 2

运行以下命令

php artisan zipus-import

如果一切正常,您将在缓存目录中找到包含数据的JSON数组。

如果您的应用程序处于调试模式,即 APP_DEBUG.env 文件中设置为 true,您可以访问一个URL http://example.com/zipus-test 来检查查找过程。

用法

查找功能作为服务提供,因此使用类似以下结构

$city = app()->make('zipcode')->getCity('10282');

来获取特定邮政编码的城市名称。结果是一个包含城市名称的字符串。要获取所有可用数据,请使用名为 getData() 的函数

$city = app()->make('zipcode')->getData('10282');

您将得到以下结果数组

[
  'ZipCodeType' => string 'STANDARD' (length=8)
  'City' => string 'NEW YORK' (length=8)
  'State' => string 'NY' (length=2)
  'LocationType' => string 'PRIMARY' (length=7)
  'Lat' => string '40.71' (length=5)
  ...
];

数组中的所有元素都将与原始CSV文件中的列名完全相同,来源于 http://federalgovernmentzipcodes.us 。请注意,该包使用了一个数据库,其中特定的邮政编码只能解析为一个主要地址。

如果传入的字符串不是一个有效的美国邮政编码,则使用 getCity() 将返回不变的邮政编码,而使用 getData() 将返回一个空数组。