در این آموزش قصد داریم راجع به نحوه ساخت GeoChart در لاراول مطالبی را به خدمت شما ارائه دهیم. ما از پکیج khill/lavacharts برای ساخت GeoChart در لاراول استفاده خواهیم کرد.
پکیج Lavacharts نمودارهای مختلفی اعم از سلسله مراتبی، ناحیه ای، میله ای، تقویم، ستونی، نمودارهای combo، حلقوی، عقربه ای، دایره ای، خطی، نقاط پراکنده، را رسم می کند.
Geochart ها نقشه یک کشور، قاره، یا یک ناحیه ای است که به یکی از سه شکل زیر مشخص می شود:
دستور زیر را برای دانلود و نصب آخرین نسخه لاراول در ترمینال وارد کنید.
composer create-project --prefer-dist laravel/laravel laravelgeochart
در قدم بعد باید پکیج khill/Lavacharts را در برنامه مان نصب کنیم.
composer require khill/lavacharts
فایل config > app.php را باز کرده و در قسمت provider ،LavachartsServideProvider را ثبت کنید.
'providers' => [ // ... Khill\Lavacharts\Laravel\LavachartsServiceProvider::class, ]
سپس در قسمت aliase کد زیر را قرار دهید.
'aliases' => [ // ... 'Lava' => Khill\Lavacharts\Laravel\LavachartsFacade::class, ]
پایگاه داده خود را ایجاد کرده و مشخصات آن را در فایل .env قرار دهید.
//.env DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravelgeo DB_USERNAME=root DB_PASSWORD=
در قدم بعد کدهای زیر را در ترمینال اجرا کنید تا دو جدول پیش فرض لاراول در پایگاه داده migrate شوند.
php artisan migrate
این دو جدول شامل users و password_reset است.
کدهای زیر را در ترمینال اجرا کنید.
php artisan make:model Footballfan -m
با اجرای کد بالا دو فایل ایجاد می شود:
حال باید ستون های جدول football را ایجاد کنیم. برای اینکار فایل Laravel > database > migration > create_football_fans_table را باز کنید و کدهای زیر را در آن قرار دهید.
// create_football_fans_table public function up() { Schema::create('football_fans', function (Blueprint $table) { $table->increments('id'); $table->string('footballteam'); $table->integer('fan'); $table->timestamps(); }); }
در پایگاه داده می توانید جدول football را ببینید.همچنین داده هایی که به این جدول اضافه کردیم را در تصویر زیر مشاهده می کنید:
php artisan make:controller FootballFansController
کد بالا یک کنترلر به نام footballFansController.php ایجاد می کند.
سپس فایل routes > web.php را باز کرده و کدهای زیر را در آن قرار دهید.
//web.php Route::get('geochart', 'FootballFansController@geoChart');
در مرحله بعد متد geochart() را مانند زیر در کنترلر می نویسیم.
//FootballFansController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Khill\Lavacharts\Lavacharts; use App\FootballFan; class FootballFansController extends Controller { public function geoChart() { $lava = new Lavacharts; $fans = $lava->DataTable(); $value=FootballFan::select('footballteam as 0', 'fan as 1') ->get() ->toArray(); $fans->addStringColumn('Football Team') ->addNumberColumn('Football Fans') ->addRows($value); $lava->GeoChart('Football Fans', $fans); return view('geochart',compact('lava')); } }
یک فایل ویو به نام geochart.blade.php در فولدر resource > views ایجاد کرده و کدهای زیر را در آن قرار دهید.
<!-- geochart.blade.php --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Laravel GeoChart Example</title> <link rel="stylesheet" href="{{asset('css/app.css')}}"> </head> <body> <div class="container"> <h2>Laravel GeoChart Example</h2><br/> <div id="geo"></div> <?= $lava->render('GeoChart', 'Football Fans', 'geo') ?> </div> </body> </html>
سرور توسعه لاراول را راه اندازی کنید.
php artisan serve
آدرس زیر را در مرورگر وارد کنید.
http://localhost:8000/geochart
در این مقاله شما نحوه ساخت نقشه کشور در لاراول را یاد گرفتید. با استفاده از این پکیج می توانید یک سری آمار و اطلاعات را روی مختصات و نقشه جغرافیایی کشورها نمایش دهید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.