Γειά σου,
Ψάχνετε για έναν τρόπο να βρείτε την πλησιέστερη τοποθεσία χρησιμοποιώντας γεωγραφικό πλάτος και γεωγραφικό μήκος στο 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.