Rumah >pembangunan bahagian belakang >tutorial php >Cipta aplikasi peta menggunakan PHP dan Risalah

Cipta aplikasi peta menggunakan PHP dan Risalah

WBOY
WBOYasal
2023-05-11 15:54:371261semak imbas

Dalam beberapa tahun kebelakangan ini, teknologi Web GIS telah semakin digunakan secara meluas, dan Risalah, sebagai perpustakaan peta JavaScript sumber terbuka yang ringan, telah menjadi pilihan pertama untuk banyak aplikasi peta Web. Aplikasi web yang ditulis dalam bahasa PHP dengan mudah boleh memaparkan maklumat peta dan data lokasi geografi di Web. Artikel ini menerangkan cara membuat aplikasi peta menggunakan PHP dan Risalah.

  1. Persediaan

Sebelum pembangunan, kita perlu menyediakan beberapa alatan pembangunan. Pertama, anda perlu memasang persekitaran pembangunan PHP terlebih dahulu Kod dalam artikel ini dibangunkan berdasarkan versi PHP7.3.12. Kedua, anda perlu memuat turun perpustakaan Risalah. Anda boleh memuat turun versi terbaharu perpustakaan daripada tapak web rasmi, atau dapatkan kod sumber di GitHub. Akhir sekali, kami perlu memilih rangka kerja web untuk membantu kami membina perkhidmatan web dengan cepat yang dibangunkan dalam PHP. Dalam artikel ini kami memilih untuk menggunakan rangka kerja PHP: Lumen.

  1. Buat aplikasi peta

(1) Buat projek Lumen

Kami boleh memasang Lumen melalui Komposer. Masukkan arahan berikut dalam baris arahan (dengan syarat Komposer telah dipasang):

composer create-project --prefer-dist laravel/lumen map-app

Arahan ini akan mencipta projek Lumen bernama map-app dalam direktori fail semasa.

(2) Pasang dependensi

Masukkan direktori akar projek dan laksanakan arahan berikut untuk memasang dependensi yang diperlukan:

composer install

(3) Integrate Leaflet

us Cipta folder baharu (seperti "awam") dalam direktori akar tapak web dan ekstrak fail perpustakaan Risalah yang dimuat turun ke dalam folder ini. Tambahkan kod berikut pada halaman HTML untuk memperkenalkan perpustakaan Risalah:

<link rel="stylesheet" href="/public/leaflet/leaflet.css" />
<script type="text/javascript" src="/public/leaflet/leaflet.js"></script>

(4) Tentukan penghalaan

Dalam rangka kerja Lumen, kami biasanya menggunakan penghalaan untuk mengendalikan permintaan URL. Buat fail bernama "web.php" dalam direktori "laluan" dan tentukan URL berbeza yang sepadan dengan pemproses yang berbeza. Contohnya:

<?php
$router->get('/', 'MapController@showMap');
?>

Kami mencipta fail bernama "MapController.php" dalam direktori akar untuk mengendalikan permintaan URL yang berbeza. Fail mengandungi kaedah berikut:

<?php
namespace AppHttpControllers;

use LaravelLumenRoutingController as BaseController;

class MapController extends BaseController {

  public function showMap() {
    return view('map');
  }

}
?>

Kaedah ini menentukan bahawa apabila pengguna mengakses URL "/", templat Blade bernama "map.blade.php" akan dipaparkan dengan sewajarnya.

(5) Tentukan templat Blade

Blade ialah enjin templat PHP yang sangat popular yang membolehkan kami menulis fail templat menggunakan format sintaks tertentu. Dalam direktori "sumber/pandangan", kami mencipta fail templat bernama "map.blade.php". Fail mengandungi kod berikut:

<!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>

Fail templat ini mentakrifkan kedudukan awal dan tahap zum peta, menggunakan gaya peta jalan yang disediakan oleh Mapbox, di mana "accessToken" perlu diisi dengan anda Token Akses Mapbox sendiri. Dalam fail templat, kami juga perlu merujuk fail perpustakaan Risalah yang diperkenalkan dalam folder "awam".

(6) Jalankan aplikasi

Sekarang anda boleh memasukkan arahan berikut dalam baris arahan untuk memulakan pelayan web:

php -S localhost:8000 -t public

Lawati "http://localhost: 8000” untuk melihat halaman web yang menunjukkan peta.

  1. Kesimpulan

Melalui kajian artikel ini, pembaca telah mempelajari cara menggunakan PHP dan Risalah untuk mencipta aplikasi peta. Kami mempelajari cara menggunakan rangka kerja Lumen, cara mengimport pustaka Risalah, cara membuat peta dalam templat dan cara memulakan pelayan web. Pembaca boleh menggunakan artikel ini untuk mendapatkan pemahaman awal tentang cara menggunakan PHP untuk mencipta aplikasi Web GIS.

Atas ialah kandungan terperinci Cipta aplikasi peta menggunakan PHP dan Risalah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn