PHP code example of magutti / magutti-spatial

1. Go to this page and download the library: Download magutti/magutti-spatial library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

magutti / magutti-spatial example snippets


use Magutti\MaguttiSpatial\Builders\SpatialBuilder;

class Location extends Model
{
    .......
    // you can override the default longitude and latitude fields
    protected $spatialFields = [
        'lng',
        'lat'
    ];
   
    function newEloquentBuilder($query): SpatialBuilder
    {
        return new SpatialBuilder($query);
    }
    .......
}

Location::select(['id','lng','lat'])
           ->whitDistance([8.9246844, 45.4152695]) // return distance in meters (default)
           ->whereDistance([8.9246844, 45.4152695],1000)
           ->get()

Location::select(['id','lat','lng'])
           ->whitDistanceInMiles([8.9246844, 45.4152695]) // return distance in Miles
           ->whereDistance([8.9246844, 45.4152695],10,'mi')
           ->get()

Location::select(['id','lat','lng'])
           ->whitDistanceInKm([8.9246844, 45.4152695]) 
           ->whereDistance([8.9246844, 45.4152695],10,'km')
           ->closest()


whitDistanceInKm(array $point)    -> return distance in Km;
whitDistanceInMiles(array $point) -> return distance in Miles (mi);
whitDistanceInFeet(array $point)  -> return distance in Feet (ft);

and for filtering by distance

whereDistanceInKm(array $point, float $distance)     -> filter point by a given distance in Km
whereDistanceInMiles(array $point, float $distance)  -> filter point by a given distance in Miles
whereDistanceInFeet(array $point, float $distance)   -> filter point by a given distance in Miles