adminui / adminui-address
GetAddress.io的Admin UI地址查找包
Requires
- php: >=7.2
README
版本 2.x - Vue JS
此包是为AdminUI框架内部使用而构建的,但由于多个系统的需求,它也可以在任何Laravel 7+项目中运行。
要求
Laravel 8包
VueJS
GetAddress.io API密钥
安装
composer require adminui/adminui-address
安装完成后,Laravel将自动找到此包。
此包使用Laravel HTTP类从getaddress.io获取结果
此包附带了一个国家迁移和种子,以及一个美国州迁移和种子。
国家表包含一些额外的字段,如iso代码、邮编要求、区号和状态。
如果状态为0,则不可选择,因此可以限制某些国家。
如果邮编为1,则邮编字段是必需的。
请运行
php artisan vendor:publish --tag adminui-address
php artisan migrate
php artisan db:seed --class=AdminUI\AdminUIAddress\Database\Seeds\DatabaseSeeder
完成后,您需要更新配置文件'adminuiaddress'或将以下变量添加到.env文件中
AUI_ADDRESS_APIKEY=""
AUI_ADDRESS_ADMINKEY=""
AUI_ADDRESS_CACHETIME=""
AUI_ADDRESS_LNG=""
AUI_ADDRESS_LAT=""
AUI_UNIT="M"
地址组件已移动到您的views/components文件夹。
并且其JS用于blade组件的public/vendor/adminui/address-block.js
可以使用以下方式轻松调用
@addressBlock()
如果选择了英国,您将有机会进行邮编查找。如果找到邮编,查找将出现在下拉菜单中。选择地址后,将出现完整的地址块。
系统使用Laravel的缓存来存储邮编结果,以节省重复查找。
请确保在模板中添加Jquery。同时请添加
@stack('scripts')
这将允许所需的JavaScript在Jquery调用之后推送。
距离辅助类
此包附带一个距离辅助类。它可以计算从您的'lat/lng'(如配置所示)到您从邮编查找脚本获取的地址的距离。
只需使用变量和测量单位调用类,即可返回结果距离
use Distance;
...
$distance = round(Distance::between(['lng' => request('lng'), 'lat' => request('lat')]), 2);
这将接受3个参数
TO - 数组 [lng, lat]
FROM - 数组[lng, lat] 可选,默认情况下这是在env或配置文件中设置的lng和lat
距离可以以3种测量单位返回。M - 英里 ** 默认 ** KM - 千米 NM - 海里 这可以在.env中设置或直接在配置文件中设置。
返回距离。
感谢
altrozero/get-address-io-php
在部分编码结构上的贡献。
下一个分支中还将包括
添加一些管理员功能,如白名单、黑名单、发票
享受。