近年、Web GIS テクノロジがますます広く使用されるようになり、軽量のオープンソース JavaScript マップ ライブラリである Leaflet が、多くの Web マップ アプリケーションの最初の選択肢となっています。 PHP 言語で記述された Web アプリケーションを使用すると、Web 上の地図情報や地理的位置データを簡単に表示できます。この記事では、PHPとLeafletを使って地図アプリケーションを作成する方法を説明します。
開発の前に、いくつかの開発ツールを準備する必要があります。まず、事前にPHP開発環境をインストールする必要がありますが、この記事のコードはPHP7.3.12バージョンをベースに開発しています。次に、Leaflet ライブラリをダウンロードする必要があります。公式 Web サイトからライブラリの最新バージョンをダウンロードするか、GitHub でソース コードを入手できます。最後に、PHP で開発された Web サービスを迅速に構築できるようにする Web フレームワークを選択する必要があります。この記事では、PHP フレームワークである Lumen を使用することを選択します。
(1) Lumen プロジェクトの作成
Lumen は Composer を通じてインストールできます。コマンド ラインに次のコマンドを入力します (Composer がインストールされている場合):
composer create-project --prefer-dist laravel/lumen map-app
このコマンドは、現在のファイル ディレクトリに map-app という名前の Lumen プロジェクトを作成します。
#(2) 依存関係のインストールプロジェクトのルート ディレクトリに移動し、次のコマンドを実行して必要な依存関係をインストールします。composer install
<link rel="stylesheet" href="/public/leaflet/leaflet.css" /> <script type="text/javascript" src="/public/leaflet/leaflet.js"></script>
<?php $router->get('/', 'MapController@showMap'); ?>
<?php namespace AppHttpControllers; use LaravelLumenRoutingController as BaseController; class MapController extends BaseController { public function showMap() { return view('map'); } } ?>
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="/public/leaflet/leaflet.css" /> <script src="/public/leaflet/leaflet.js"></script> <style> #mapid { height: 600px; } </style> </head> <body> <div id="mapid"></div> <script> var mymap = L.map('mapid').setView([51.505, -0.09], 13); L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', { attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' + '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + 'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>', maxZoom: 18, id: 'mapbox/streets-v11', tileSize: 512, zoomOffset: -1, accessToken: 'change me' }).addTo(mymap); </script> </body> </html>
php -S localhost:8000 -t public
以上がPHPとLeafletを使って地図アプリケーションを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。