NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Podporu miesta konania prináša geolocation-for-laravel, zapojený do modelu z balíka: stĺpec location pre názov miesta a latitude s longitude dostupné ako value objekt Coordinates:

use RoundlyConsulting\Appointments\Facades\Appointments;
use RoundlyConsulting\Appointments\Models\Appointment;
use RoundlyConsulting\Geolocation\DataTransferObjects\Coordinates;

$appointment = Appointments::schedule('Clinic visit')
    ->startingAt('2026-07-01 09:00')
    ->located(51.5074, -0.1278, 'Clinic A')   // latitude, longitude, venue name
    ->create();

$appointment->coordinates;                     // Coordinates value object (or null)
$appointment->location;                        // 'Clinic A'
$appointment->distanceFrom(new Coordinates(48.8566, 2.3522)); // kilometres, or null

Appointment::query()->withinRadius(new Coordinates(51.5074, -0.1278), 10)->get();

Nastavenie miesta

  • located($latitude, $longitude, ?$venue) — súradnice a voliteľne názov miesta.
  • at(Coordinates $coordinates) — súradnice z value objektu.
  • venue(string $location) — iba názov miesta.
Appointments::schedule('Team offsite')
    ->startingAt('2026-09-10 10:00')
    ->at(new Coordinates(48.1486, 17.1077))    // coordinates only
    ->venue('Riverside meeting hall')          // venue name only
    ->create();

Vyhľadávanie v okruhu

withinRadius() ponechá termíny v ohraničujúcom obdĺžniku okruhu (v kilometroch) — lacný predfilter nad indexovanými stĺpcami latitude a longitude. Pre presnú hranicu výsledky dofiltrujte cez distanceFrom(), ktoré vráti vzdialenosť po hlavnej kružnici v kilometroch, alebo null pre termín bez súradníc:

$clinic = new Coordinates(48.1486, 17.1077);

$nearby = Appointment::query()
    ->withinRadius($clinic, 5)                  // bounding-box pre-filter, kilometres
    ->upcoming()
    ->get()
    ->filter(fn (Appointment $appointment) => $appointment->distanceFrom($clinic) <= 5);

ICS export použije stĺpec location (inak meta.location) a pri nastavených súradniciach pridá riadok GEO.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.