Βρείτε την πλησιέστερη τοποθεσία στο Laravel 10 χρησιμοποιώντας Γεωγραφικό πλάτος και Γεωγραφικό μήκος: Εκμάθηση βήμα προς βήμα

0
Βρείτε την πλησιέστερη τοποθεσία στο Laravel 10 χρησιμοποιώντας Γεωγραφικό πλάτος και Γεωγραφικό μήκος: Εκμάθηση βήμα προς βήμα

Γειά σου,

Ψάχνετε για έναν τρόπο να βρείτε την πλησιέστερη τοποθεσία χρησιμοποιώντας γεωγραφικό πλάτος και γεωγραφικό μήκος στο Laravel 10; Αν ναι, τότε είστε στο σωστό μέρος.

Σε αυτό το σεμινάριο, θα σας καθοδηγήσω στα βήματα για να βρείτε την πλησιέστερη τοποθεσία στο Laravel 10 χρησιμοποιώντας γεωγραφικό πλάτος και γεωγραφικό μήκος.

Ας αρχίσουμε.

Βήμα 1: Εγκαταστήστε το Laravel

Το πρώτο βήμα είναι να εγκαταστήσετε το Laravel 10. Μπορείτε να το κάνετε αυτό ανοίγοντας το τερματικό ή τη γραμμή εντολών και εκτελώντας την ακόλουθη εντολή:

composer create-project laravel/laravel blog

Αυτή η εντολή θα δημιουργήσει ένα νέο έργο Laravel που ονομάζεται „blog“ στον τρέχοντα κατάλογο.

Βήμα 2: Δημιουργήστε μια διαδρομή

Το επόμενο βήμα είναι να δημιουργήσετε μια διαδρομή για την προσέγγιση τοποθεσιών από γεωγραφικό πλάτος και γεωγραφικό μήκος. Μπορείτε να το κάνετε αυτό προσθέτοντας τον παρακάτω κώδικα στο δικό σας routes/web.php αρχείο:

Route::get('find-places', [LocationController::class, 'index']);

Αυτή η διαδρομή θα διεκπεραιωθεί από το index μέθοδος του LocationController.

Βήμα 3: Δημιουργήστε έναν ελεγκτή

Το επόμενο βήμα είναι να δημιουργήσετε ένα LocationController και προσθέστε τον ακόλουθο κώδικα σε αυτό:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Models\User;

class LocationController extends Controller
{
    public function index(Request $request)
    {
        $lat = YOUR_CURRENT_LATITUDE;
        $lon = YOUR_CURRENT_LONGITUDE;

        $users = User::select("users.id",
                DB::raw("6371 * acos(cos(radians(" . $lat . ")) 
                * cos(radians(users.lat)) 
                * cos(radians(users.lon) - radians(" . $lon . ")) 
                + sin(radians(" . $lat . ")) 
                * sin(radians(users.lat))) AS distance"))
                ->groupBy("users.id")
                ->get();

        dd($users);
    }
}

Αυτός ο ελεγκτής θα λάβει το τρέχον γεωγραφικό πλάτος και μήκος και, στη συνέχεια, θα βρει τις πλησιέστερες τοποθεσίες από το User μοντέλο. Χρησιμοποιεί τον τύπο Haversine για να υπολογίσει την απόσταση μεταξύ δύο σημείων στην επιφάνεια της γης.

Βήμα 4: Εκτελέστε την εφαρμογή Laravel

Το τελευταίο βήμα είναι να εκτελέσετε την εφαρμογή Laravel χρησιμοποιώντας την ακόλουθη εντολή:

Αφού εκτελέσετε αυτήν την εντολή, μπορείτε να μεταβείτε στο πρόγραμμα περιήγησής σας και να πληκτρολογήσετε τη διεύθυνση URL http://localhost:8000/find-places για να δείτε τις πλησιέστερες τοποθεσίες με βάση το τρέχον γεωγραφικό πλάτος και γεωγραφικό μήκος σας.

Αυτό είναι! Έχετε μάθει με επιτυχία πώς να βρίσκετε την πλησιέστερη τοποθεσία χρησιμοποιώντας γεωγραφικό πλάτος και γεωγραφικό μήκος στο Laravel 10.


Schreibe einen Kommentar