zoomyboy / map
为 Laravel 5 Eloquent 模型提供 Google 地理编码和距离矩阵服务
0.0.7
2017-09-11 14:11 UTC
README
此包允许您通过 Eloquent 模型访问 Google 地理编码和距离矩阵服务。
您应该设置 'latitude' 和 'longitude' 以及 zip/city 属性为可填充的
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Zoomyboy\Map\HasMap;
class M extends Model
{
use HasMap;
protected $fillable = ['latitude', 'longitude', 'address', 'zip', 'city'];
}
默认情况下,使用 'addressForCoords' 属性设置模型的坐标。这是一个存储的地址、邮编和城市的字符串组合。您可以通过设置 'getAddressForCoords' 属性来覆盖此行为。
您可以省略 'address' 属性(将其设置为 null 或不创建列),因为包将仅获取城市和邮编的位置。
门面
可以使用 Map 门面手动获取包的功能
use Zoomyboy\Map\Facades\Map;
获取坐标
您可以使用 'coords' 方法获取坐标。此方法接受 3 个参数:地址、邮编和城市,其中邮编和城市是可选的。
您也可以省略邮编和城市,将完整的地址字符串作为第一个参数。或者,您可以设置所有 3 个选项 - 这样就会从这些信息中创建一个合适的 Google 字符串。该方法将返回一个包含 'latitude' 和 'longitude' 键的数组 - 如果找不到位置,则返回 false。
Map::coords('Address', 'Zip', 'City');
获取距离 您可以获取两个位置之间的距离(米)。
Map::distance('Address 1, 12345 City 2', 'Address 2, 67890 City 2');