diff --git a/app/Http/Controllers/Api/OutletController.php b/app/Http/Controllers/Api/OutletController.php index 5409e6c..9c3d04d 100644 --- a/app/Http/Controllers/Api/OutletController.php +++ b/app/Http/Controllers/Api/OutletController.php @@ -6,6 +6,7 @@ use App\Outlet; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Http\Resources\OutletCollection; +use App\Http\Resources\Outlet as OutletResource; class OutletController extends Controller { @@ -15,4 +16,28 @@ class OutletController extends Controller return new OutletCollection($outlets); } + + public function geoJSON(Request $request) + { + $outlets = Outlet::all(); + + $geoJSONdata = $outlets->map(function ($outlet) { + return [ + 'type' => 'Feature', + 'properties' => new OutletResource($outlet), + 'geometry' => [ + 'type' => 'Point', + 'coordinates' => [ + $outlet->longitude, + $outlet->latitude, + ], + ], + ]; + }); + + return response()->json([ + 'type' => 'FeatureCollection', + 'features' => $geoJSONdata, + ]); + } } diff --git a/app/Http/Controllers/OutletMapController.php b/app/Http/Controllers/OutletMapController.php new file mode 100644 index 0000000..e162087 --- /dev/null +++ b/app/Http/Controllers/OutletMapController.php @@ -0,0 +1,13 @@ +