elbgoods/nova-mapbox-shape-field

在地图上显示具有绘图功能的地理形状

2.0 2023-04-17 16:00 UTC

This package is auto-updated.

Last update: 2024-09-17 19:15:54 UTC


README

要求

  • php: >=8.0
  • laravel/nova: ^4.1

功能

  • 显示具有绘图功能的地理形状

安装

通过Composer在Laravel Nova项目中安装此包

composer require elbgoods/nova-mapbox-shape-field

用法

期望在config/services.php中指定mapbox访问令牌

<?php

return [
    'mapbox' => [
        'key' => env('MAPBOX_KEY', 'your-default-key'),
    ],
use Elbgoods\NovaMapboxShapeField\MapboxShapeField;

public function fields(Request $request)
{
    return [
        MapboxShapeField::make('Geometry') // Postgres Geometry Column
            ->latitude($this->latitude)
            ->longitude($this->longitude)
            ->geoJson($this->getGeoJson())
            ->zoom(8),
    ];
}
    public function getGeoJson(): array
    {
        if ($this->geometry) {
            $geometry = $this->getGeometry(); // Brick\Geo\Geometry

            return [
                'type'        => $geometry->geometryType(),
                'coordinates' => $geometry->toArray(),
            ];
        }

        return [];
    }

截图

Detail View

许可证

本项目是开源软件,许可协议为MIT许可证