Ces dernières années, la technologie Web SIG a été de plus en plus largement utilisée, et Leaflet, en tant que bibliothèque de cartes JavaScript open source légère, est devenue le premier choix pour de nombreuses applications de cartes Web. Les applications Web écrites en langage PHP peuvent facilement afficher des informations cartographiques et des données de localisation géographique sur le Web. Cet article explique comment créer une application cartographique à l'aide de PHP et Leaflet.
Avant le développement, nous devons préparer quelques outils de développement. Tout d'abord, vous devez installer l'environnement de développement PHP au préalable. Le code de cet article est développé sur la base de la version PHP7.3.12. Deuxièmement, vous devez télécharger la bibliothèque Leaflet. Vous pouvez télécharger la dernière version de la bibliothèque sur le site officiel ou obtenir le code source sur GitHub. Enfin, nous devons choisir un framework web pour nous aider à construire rapidement des services web développés en PHP. Dans cet article nous choisissons d’utiliser un framework PHP : Lumen.
(1) Créer un projet Lumen
Nous pouvons installer Lumen via Composer. Entrez la commande suivante dans la ligne de commande (à condition que Composer ait été installé) :
composer create-project --prefer-dist laravel/lumen map-app
Cette commande créera un projet Lumen nommé map-app dans le répertoire de fichiers actuel.
(2) Installer les dépendances
Entrez le répertoire racine du projet et exécutez la commande suivante pour installer les dépendances requises :
composer install
(3) Intégrer Leaflet# 🎜🎜#
Nous créons un nouveau dossier (tel que "public") dans le répertoire racine du site Web et extrayons le fichier de bibliothèque Leaflet téléchargé dans ce dossier. Ajoutez le code suivant à la page HTML pour présenter la bibliothèque Leaflet :<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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!