daison / bus-router-sg
一款路线查找器,帮助你找到最适合乘坐的公交车前往目的地。
V0.1.2
2018-02-11 05:47 UTC
Requires
- taniko/dijkstra: ^1.0
This package is auto-updated.
Last update: 2024-09-15 07:35:49 UTC
README
此包使用laravel的模型,因此它本身不是通用的,但稍后我会将此包转换为支持其他框架,并且不绑定模型。
安装
您需要一个至少 ~5.x 的laravel应用程序,最好使用Laravel 5.5以进行包发现。
要将此包安装到您的laravel应用程序中,您需要运行以下命令:
composer require daison/bus-router-sg
如果您的laravel应用程序不支持包发现,则需要将此类添加到您的 config/app.php@providers 中
'providers' => [
// ...
Daison\BusRouterSg\BusRouterSgServiceProvider::class
],
安装后,您需要创建一个数据库表并将其分配给您的 .env 文件
执行 php artisan migrate 和 php artisan bus-router-sg:parse-json
类API测试
为了测试类匹配逻辑,以下示例将帮助您。
$instance = new Daison\BusRouterSg\Util\Match(
$myLat = 1.37313809346006,
$myLng = 103.89156818388481,
$destLat = 1.38372439268243,
$destLng = 103.76068878232401
);
$instance->handle();
目前,上述代码将为您提供可用于渲染到Google Map Api的路径列表。
array:35 [
0 => "1.37313809346006:103.89156818388481",
1 => "1.37060695394614:103.89266808874676",
2 => "1.36756333302324:103.8927594439902",
3 => "1.36623834226067:103.89129134480065",
// ...,
32 => "1.37961719959059:103.76390959462616",
33 => "1.38178063199093:103.76285898246775",
34 => "1.38372439268243:103.76068878232401",
]
我目前正在根据返回的路线开发可以乘坐的公交车,您可以在以下 待办事项 中找到它们。
测试
为了测试此包,我在 tests/ 文件夹中编写了一个简单的测试类。
在此根文件夹下运行 phpunit。
此原型的待办事项
- 匹配逻辑
- 找到最近的公交车和最近的公交车前往您的目的地。
- 使用Dijkstra算法连接每条公交路线(经纬度)。
- 根据路线(经纬度)编译公交车的列表。
- 测试
- 用户界面
- 用户登录
- 需要填写当前位置或使用浏览器API获取当前用户位置的表单。
- 公交车的CRUD操作
- 公交车站的CRUD操作
- 位置的CRUD操作
- 使用邮政编码进行搜索
- 使用自由格式地址输入进行搜索并确定邮政编码