diff --git a/app/Http/Controllers/API/v3/FontAwesome/v6/PinController.php b/app/Http/Controllers/API/v3/FontAwesome/v6/PinController.php new file mode 100644 index 0000000..68e65c6 --- /dev/null +++ b/app/Http/Controllers/API/v3/FontAwesome/v6/PinController.php @@ -0,0 +1,65 @@ +has('icon')) { + return $this->showIconPin($request); + } else { + return $this->showTextPin($request); + } + } + + protected function showIconPin(Request $request) + { + // GET MARKER CONFIG + $markerSize = $request->get('size', 100); + + // FOREGROUND ICON + $foregroundIcon = $request->get('icon') ?: null; + $foregroundIconColor = '#'.$request->get('color', '000'); + $foregroundIconMarkup = GetIconMarkup::run($foregroundIcon); + + // FOREGROUND ICON SHIFTING + $foregroundXShiftPercent = $request->get('hoffset', 0) / $markerSize * 100.00; + $foregroundYShiftPercent = $request->get('voffset', 0) / $markerSize * 100.00; + + // FOREGROUND SIZING + $foregroundIconSize = $request->get('iconsize', $markerSize / 3); + $foregroundIconHeightPercent = $foregroundIconSize / $markerSize * 100.00; + $foregroundIconYOffset = 35 - ($foregroundIconHeightPercent / 2.00) + $foregroundYShiftPercent; + $foregroundIconXOffset = 0 + $foregroundXShiftPercent; + + // BACKGROUND ICON + $backgroundIcon = 'fa-solid fa-location-pin'; + $backgroundIconColor = '#'.$request->get('background', 'CCC'); + $backgroundIconMarkup = GetIconMarkup::run($backgroundIcon); + + // LABEL + $labelMarkup = GetLabelMarkup::run(request: $request, markerSize: $markerSize); + + $mapMarkerMarkup = << + + + {$backgroundIconMarkup} + + + {$foregroundIconMarkup} + + + {$labelMarkup} + + EOD; + + return response($mapMarkerMarkup)->header('Content-Type', 'image/svg+xml'); + } +} diff --git a/resources/views/docs/versions.blade.php b/resources/views/docs/versions.blade.php index 5ee6f70..fdaa8b3 100644 --- a/resources/views/docs/versions.blade.php +++ b/resources/views/docs/versions.blade.php @@ -99,7 +99,7 @@ Yes Yes Yes - WIP + Yes Font-Awesome 4 diff --git a/routes/web.php b/routes/web.php index a8f117d..2f347b8 100644 --- a/routes/web.php +++ b/routes/web.php @@ -118,7 +118,7 @@ // FONT-AWESOME 6 Route::group(['prefix' => 'v6', 'namespace' => 'v6'], function () { Route::get('icon', 'IconController@show'); - // Route::get('pin', 'PinController@show'); + Route::get('pin', 'PinController@show'); Route::get('icon-stack', 'IconStackController@show'); }); });