In den letzten Jahren wurde die Web-GIS-Technologie immer häufiger eingesetzt, und Leaflet ist als leichte Open-Source-JavaScript-Kartenbibliothek zur ersten Wahl für viele Webkartenanwendungen geworden. In der PHP-Sprache geschriebene Webanwendungen können problemlos Karteninformationen und geografische Standortdaten im Web anzeigen. In diesem Artikel wird erläutert, wie Sie eine Kartenanwendung mit PHP und Leaflet erstellen.
Vor der Entwicklung müssen wir einige Entwicklungstools vorbereiten. Zunächst müssen Sie die PHP-Entwicklungsumgebung vorab installieren. Der Code in diesem Artikel basiert auf der PHP7.3.12-Version. Zweitens müssen Sie die Leaflet-Bibliothek herunterladen. Sie können die neueste Version der Bibliothek von der offiziellen Website herunterladen oder den Quellcode auf GitHub herunterladen. Schließlich müssen wir ein Web-Framework auswählen, das uns hilft, schnell in PHP entwickelte Webdienste zu erstellen. In diesem Artikel entscheiden wir uns für die Verwendung eines PHP-Frameworks: Lumen.
(1) Erstellen Sie ein Lumen-Projekt
Wir können Lumen über Composer installieren. Geben Sie den folgenden Befehl in die Befehlszeile ein (vorausgesetzt, Composer wurde installiert):
composer create-project --prefer-dist laravel/lumen map-app
Dieser Befehl erstellt ein Lumen-Projekt mit dem Namen „map-app“ im aktuellen Dateiverzeichnis.
(2) Abhängigkeiten installieren
Geben Sie das Projektstammverzeichnis ein und führen Sie den folgenden Befehl aus, um die erforderlichen Abhängigkeiten zu installieren:
composer install
(3) Integrieren Leaflet# 🎜🎜#
Wir erstellen einen neuen Ordner (z. B. „public“) im Stammverzeichnis der Website und extrahieren die heruntergeladene Leaflet-Bibliotheksdatei in diesen Ordner. Fügen Sie der HTML-Seite den folgenden Code hinzu, um die Leaflet-Bibliothek vorzustellen:<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
Das obige ist der detaillierte Inhalt vonErstellen Sie eine Kartenanwendung mit PHP und Leaflet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!