justincdotme/laravel-open-charge

该包最新版本(1.2.1)没有可用的许可证信息。

Laravel Open Charge 为 Open Charge Map POI API 提供了一个流畅的包装器,支持 Laravel 5.x、Lumen 5.x

1.2.1 2017-02-19 15:43 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:57:59 UTC


README

Laravel Open Charge 为 Open Charge Map POI API 提供了一个流畅的包装器

该项目目标是使开发者能够通过在 Open Charge API 上创建一个抽象层,从而更容易地关注其应用程序。

安装

######此应用程序需要 Laravel 5.* 或 Lumen 5.*

Lumen 5.* 安装

使用 Composer 安装包

composer require justincdotme/laravel-open-charge

您可以选择取消注释以下内容以启用 Facades bootstrap/app.php

$app->withFacades();

通过向 bootstrap/app.php 添加以下内容来注册 Service Provider

$app->register(Justincdotme\OpenCharge\Providers\OpenChargeServiceProvider::class);

Laravel 5.* 安装

使用 Composer 安装包

composer install justincdotme/loc

将 Service Provider 注册到 config/app.php 中的 providers 数组

'providers' => [
 ...
 Justincdotme\OpenCharge\Providers\OpenChargeServiceProvider::class,
 ...
 ]

可选:使用以下命令在 Laravel 中发布配置

php artisan vendor:publish and edit app/config.php

使用

####使用 Illuminate\Http\Request;

OpenCharge::latitude($request->latitude)
    ->longitude($request->longitude)
    ->distance(10)
    ->compactData()
    ->verbose(false)
    ->limit(4)
    ->get();    

####构造函数/方法注入 use Illuminate\Http\Request; use Justincdotme\OpenCharge\Interfaces\OpenChargeInterface;

public function foo(OpenChargeInterface $openCharge, Request $request)
{
    return $openCharge->latitude($request->latitude)
         ->longitude($request->longitude)
         ->distance(10)
         ->compactData()
         ->verbose(false)
         ->limit(4)
         ->get(); 
}

####使用 OpenCharge::filters() 方法而不是链式调用过滤方法

OpenCharge::filters([
     'distance' => 10,
     'maxresults' => 20
])->get();

注意

请注意,get() 方法从 JSON 字符串返回一个 Collection,因此不兼容 JSON 以外的输出类型。如果您想使用其他输出格式,请结合使用 OpenCharge::getRaw() 方法和 OpenCharge::output() 方法。getRaw() 方法返回一个字符串。

虽然不是必需的,但建议您提供纬度和经度。否则,结果可能无法根据用户的位置定制。

关于 Open Charge Map API 的其他文档超出了本说明书的范围,可在 Open Charge Map POI API 找到

可用方法

获取一系列站点的集合。必须是链中的最后一个方法。

OpenCharge::get()

以原始字符串形式获取一系列站点。必须是链中的最后一个方法。

OpenCharge::getRaw()

使用数组形式的过滤条件,而不是逐个调用过滤方法。过滤条件应是一个关联数组,其键与在 https://openchargemap.org/site/develop/api 可用的服务参数列表匹配

OpenCharge::filters( $filters )

距离计算的纬度参考

OpenCharge::latitude( $latitude )

距离计算的经度参考

OpenCharge::longitude( $longitude )

输出格式:json、xml、kml。建议使用 JSON 格式,因为它具有最高的保真度

OpenCharge::output( $output )

设置为 false 以获取一个较小的结果集,其中包含 null 项被移除。

OpenCharge::verbose( $verbose = true )

设置为 true 以从输出中删除参考数据对象。仅返回常见参考数据(如 DataProvider 等)的 ID。

OpenCharge::compactData( $compact = true )

设置为 true 以获取 camelCase 格式的属性名称。

OpenCharge::camelCase( $camelCase = true )

英里或千米

OpenCharge::distanceUnit( $distanceUnit )

根据指定的距离返回结果。需要 lattitude() 和 longitude() 方法。

OpenCharge::distance( $distance )

指定 JSONP 回调函数的名称(如果需要),仅 JSON 响应类型。

OpenCharge::callback( $callback )

设置为 true 以包括每个充电位置的用户评论和媒体项目(照片)。

OpenCharge::comments( $includeComments = true )

ISO 国家代码。例如:GB,US

OpenCharge::countryCode( $countryCode )

精确匹配数组形式的国家 ID。例如:GB,US

OpenCharge::countryIds( array $countryIds )

返回的最大结果数限制。

OpenCharge::limit( $maxResults )

精确匹配数组形式的充电点 ID。请参阅 Open Charge Map Reference Data

OpenCharge::statusTypes( array $statusTypeIds )

精确匹配数组形式的充电点 ID。请参阅 Open Charge Map Reference Data

OpenCharge::chargePoint( array $chargePointIds )

设置为 false 以仅返回非开放许可数据。设置为 true 以仅包含开放数据许可内容。

OpenCharge::openData( $opendata )

数据提供者ID数组中的精确匹配。Open Charge Map参考数据

OpenCharge::dataProviderIds( array $dataProviderIds )

使用类型ID数组中的精确匹配。Open Charge Map参考数据

OpenCharge::usageTypes( array $usageTypeIds )

EVSE运营商ID数组中的精确匹配。Open Charge Map参考数据

OpenCharge::operators( array $operatorIds )

连接类型ID数组中的精确匹配。

OpenCharge::connectionTypes( array $connectionTypeIds )

充电等级ID数组中的精确匹配。

OpenCharge::chargingLevels( array $chargingLevelIds )

自给定日期(UTC)以来修改的POI。

OpenCharge::modifiedSince( $modifiedsince )

许可证

MIT许可证(MIT)

版权所有(c)2017 Justin Christenson

特此授予任何获得本软件及其相关文档副本(“软件”)的人免费使用该软件的权利,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许将软件提供给他人,以便他们可以进行上述操作,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“现状”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是基于合同、侵权或其他原因,以及源于、因之或与软件的使用或其他操作有关。