public function data() { //weird workaround because datable was broken $operationAreas = Operation_area::all(); return Datatables::of($operationAreas)->remove_column('polygon_coordinates')->remove_column('active')->remove_column('user_id')->remove_column('created_at')->remove_column('updated_at')->add_column('actions', '<!--<a href="{{{ URL::to(\'admin/operationAreas/\' . $id . \'/edit\' ) }}}" class="btn btn-success btn-sm iframe" ><span class="glyphicon glyphicon-pencil"></span> {{ trans("admin/modal.edit") }}</a>--> <a href="{{{ URL::to(\'admin/operationAreas/\' . $id . \'/delete\' ) }}}" class="btn btn-sm btn-danger iframe"><span class="glyphicon glyphicon-trash"></span> {{ trans("admin/modal.delete") }}</a> ')->make(); }
public static function getLocationArea($lon, $lat) { $operation_areas = Operation_area::all(); $point = "{$lon} {$lat}"; $polygon = array(); foreach ($operation_areas as $operation_area) { $coordinateArray = json_decode($operation_area["polygon_coordinates"]); foreach ($coordinateArray as $coordinate) { $polygon[] = $coordinate[0] . ' ' . $coordinate[1]; } $pointLocation = new pointLocation(); if ($pointLocation->pointInPolygon($point, $polygon) == 'inside') { return $operation_area["id"]; } } }